diff --git a/image_verify.cpp b/image_verify.cpp
index 6057653..d7b676d 100644
--- a/image_verify.cpp
+++ b/image_verify.cpp
@@ -120,6 +120,30 @@
                 return false;
             }
         }
+        // Validate the optional image files.
+        auto optionalImages = getOptionalImages();
+        for (const auto& optionalImage : optionalImages)
+        {
+            // Build Image File name
+            fs::path file(imageDirPath);
+            file /= optionalImage;
+
+            if (fs::exists(file))
+            {
+                // Build Signature File name
+                fs::path sigFile(file);
+                sigFile.replace_extension(SIGNATURE_FILE_EXT);
+
+                // Verify the signature.
+                auto valid = verifyFile(file, sigFile, publicKeyFile, hashType);
+                if (valid == false)
+                {
+                    log<level::ERR>("Image file Signature Validation failed",
+                                    entry("IMAGE=%s", optionalImage.c_str()));
+                    return false;
+                }
+            }
+        }
 
         log<level::DEBUG>("Successfully completed Signature vaildation.");
 
