diff --git a/tests/ImageTensorGenerator/ImageTensorGenerator.cpp b/tests/ImageTensorGenerator/ImageTensorGenerator.cpp
index 754d980..34dbe1e 100644
--- a/tests/ImageTensorGenerator/ImageTensorGenerator.cpp
+++ b/tests/ImageTensorGenerator/ImageTensorGenerator.cpp
@@ -164,7 +164,7 @@
                 ("f,model-format",
                     "Format of the intended model file that uses the images."
                     "Different formats have different image normalization styles."
-                    "Accepted values (caffe, tensorflow, tflite)",
+                    "Accepted values (tensorflow, tflite)",
                     cxxopts::value<std::string>(m_ModelFormat))
                 ("o,outfile",
                     "Output raw tensor file path",
@@ -235,11 +235,7 @@
     unsigned int GetNewHeight() {return static_cast<unsigned int>(std::stoi(m_NewHeight));}
     SupportedFrontend GetModelFormat()
     {
-        if (m_ModelFormat == "caffe")
-        {
-            return SupportedFrontend::Caffe;
-        }
-        else if (m_ModelFormat == "tensorflow")
+        if (m_ModelFormat == "tensorflow")
         {
             return SupportedFrontend::TensorFlow;
         }
diff --git a/tests/ImageTensorGenerator/ImageTensorGenerator.hpp b/tests/ImageTensorGenerator/ImageTensorGenerator.hpp
index 4793f82..f2ee470 100644
--- a/tests/ImageTensorGenerator/ImageTensorGenerator.hpp
+++ b/tests/ImageTensorGenerator/ImageTensorGenerator.hpp
@@ -24,14 +24,13 @@
 
 enum class SupportedFrontend
 {
-    Caffe      = 0,
-    TensorFlow = 1,
-    TFLite     = 2,
+    TensorFlow = 0,
+    TFLite     = 1,
 };
 
 /** Get normalization parameters.
  * Note that different flavours of models and different model data types have different normalization methods.
- * This tool currently only supports Caffe, TF and TFLite models
+ * This tool currently only supports TF and TFLite models
  *
  * @param[in] modelFormat   One of the supported frontends
  * @param[in] outputType    Output type of the image tensor, also the type of the intended model
@@ -46,8 +45,6 @@
     normParams.stddev = { 1.0, 1.0, 1.0 };
     switch (modelFormat)
     {
-        case SupportedFrontend::Caffe:
-            break;
         case SupportedFrontend::TensorFlow:
         case SupportedFrontend::TFLite:
         default:
