Having an external corpus command makes it a special case
diff --git a/files.c b/files.c
index 661e748..d45b057 100644
--- a/files.c
+++ b/files.c
@@ -211,7 +211,7 @@
 {
     hfuzz->files = util_Malloc(sizeof(char *));
     hfuzz->files[0] = "NONE";
-    hfuzz->fileCnt = 0;
+    hfuzz->fileCnt = 1;
 
     if (hfuzz->externalCommand) {
         LOG_I
diff --git a/fuzz.c b/fuzz.c
index 73c5d25..c66d9e3 100644
--- a/fuzz.c
+++ b/fuzz.c
@@ -548,7 +548,11 @@
 
     fuzz_getFileName(hfuzz, fuzzer->fileName);
 
-    if (state == _HF_STATE_DYNAMIC_MAIN) {
+    if (hfuzz->externalCommand) {
+        if (!fuzz_prepareFileExternally(hfuzz, fuzzer)) {
+            LOG_F("fuzz_prepareFileExternally() failed");
+        }
+    } else if (state == _HF_STATE_DYNAMIC_MAIN) {
         if (!fuzz_prepareFileDynamically(hfuzz, fuzzer)) {
             LOG_F("fuzz_prepareFileDynamically() failed");
         }
@@ -557,10 +561,6 @@
         if (!fuzz_prepareFile(hfuzz, fuzzer, rnd_index)) {
             LOG_F("fuzz_prepareFile() failed");
         }
-    } else if (hfuzz->externalCommand != NULL) {
-        if (!fuzz_prepareFileExternally(hfuzz, fuzzer)) {
-            LOG_F("fuzz_prepareFileExternally() failed");
-        }
     } else {
         if (!fuzz_prepareFile(hfuzz, fuzzer, rnd_index)) {
             LOG_F("fuzz_prepareFile() failed");