diff --git a/Core/src/org/sleuthkit/autopsy/modules/leappanalyzers/ALeappAnalyzerIngestModule.java b/Core/src/org/sleuthkit/autopsy/modules/leappanalyzers/ALeappAnalyzerIngestModule.java
index 705468ae15f4092c565090b966b542d6bd0374a3..1492670adad56c21028fe4913602f095fd60eb42 100644
--- a/Core/src/org/sleuthkit/autopsy/modules/leappanalyzers/ALeappAnalyzerIngestModule.java
+++ b/Core/src/org/sleuthkit/autopsy/modules/leappanalyzers/ALeappAnalyzerIngestModule.java
@@ -155,7 +155,7 @@ public ProcessResult process(Content dataSource, DataSourceIngestModuleProgress
             statusHelper.switchToDeterminate(aLeappFilesToProcess.size());
             processALeappFs(dataSource, currentCase, statusHelper, tempOutputPath.toString());
         } else {
-            aLeappFilesToProcess = findaLeappFilesToProcess(dataSource);
+            aLeappFilesToProcess = LeappFileProcessor.findLeappFilesToProcess(dataSource);
             statusHelper.switchToDeterminate(aLeappFilesToProcess.size());
 
             Integer filesProcessedCount = 0;
@@ -268,40 +268,7 @@ private void processALeappFs(Content dataSource, Case currentCase, DataSourceIng
 
     }
 
-    /**
-     * Find the files that will be processed by the aLeapp program
-     *
-     * @param dataSource
-     *
-     * @return List of abstract files to process.
-     */
-    private List<AbstractFile> findaLeappFilesToProcess(Content dataSource) {
-
-        List<AbstractFile> aLeappFiles = new ArrayList<>();
-
-        FileManager fileManager = getCurrentCase().getServices().getFileManager();
-
-        // findFiles use the SQL wildcard % in the file name
-        try {
-            aLeappFiles = fileManager.findFiles(dataSource, "%", "/"); //NON-NLS
-        } catch (TskCoreException ex) {
-            logger.log(Level.WARNING, "No files found to process"); //NON-NLS
-            return aLeappFiles;
-        }
-
-        List<AbstractFile> aLeappFilesToProcess = new ArrayList<>();
-        for (AbstractFile aLeappFile : aLeappFiles) {
-            if (((aLeappFile.getLocalAbsPath() != null)
-                    && (!aLeappFile.getNameExtension().isEmpty() && (!aLeappFile.isVirtual())))
-                    && ((aLeappFile.getName().toLowerCase().contains(".zip") || (aLeappFile.getName().toLowerCase().contains(".tar")))
-                    || aLeappFile.getName().toLowerCase().contains(".tgz"))) {
-                aLeappFilesToProcess.add(aLeappFile);
 
-            }
-        }
-
-        return aLeappFilesToProcess;
-    }
 
     /**
      * Build the aLeapp command to run
diff --git a/Core/src/org/sleuthkit/autopsy/modules/leappanalyzers/ILeappAnalyzerIngestModule.java b/Core/src/org/sleuthkit/autopsy/modules/leappanalyzers/ILeappAnalyzerIngestModule.java
index 19cf3449423bffca245d63a4520dc6c2785cb5c0..d124801046a9f008cb596ba97ab89e0a0e38a59a 100644
--- a/Core/src/org/sleuthkit/autopsy/modules/leappanalyzers/ILeappAnalyzerIngestModule.java
+++ b/Core/src/org/sleuthkit/autopsy/modules/leappanalyzers/ILeappAnalyzerIngestModule.java
@@ -155,7 +155,7 @@ public ProcessResult process(Content dataSource, DataSourceIngestModuleProgress
             statusHelper.switchToDeterminate(iLeappFilesToProcess.size());
             processILeappFs(dataSource, currentCase, statusHelper, tempOutputPath.toString());
         } else {
-            iLeappFilesToProcess = findiLeappFilesToProcess(dataSource);
+            iLeappFilesToProcess = LeappFileProcessor.findLeappFilesToProcess(dataSource);
             statusHelper.switchToDeterminate(iLeappFilesToProcess.size());
 
             Integer filesProcessedCount = 0;
@@ -268,41 +268,6 @@ private void processILeappFs(Content dataSource, Case currentCase, DataSourceIng
 
     }
 
-    /**
-     * Find the files that will be processed by the iLeapp program
-     *
-     * @param dataSource
-     *
-     * @return List of abstract files to process.
-     */
-    private List<AbstractFile> findiLeappFilesToProcess(Content dataSource) {
-
-        List<AbstractFile> iLeappFiles = new ArrayList<>();
-
-        FileManager fileManager = getCurrentCase().getServices().getFileManager();
-
-        // findFiles use the SQL wildcard % in the file name
-        try {
-            iLeappFiles = fileManager.findFiles(dataSource, "%", "/"); //NON-NLS
-        } catch (TskCoreException ex) {
-            logger.log(Level.WARNING, "No files found to process"); //NON-NLS
-            return iLeappFiles;
-        }
-
-        List<AbstractFile> iLeappFilesToProcess = new ArrayList<>();
-        for (AbstractFile iLeappFile : iLeappFiles) {
-            if (((iLeappFile.getLocalAbsPath() != null)
-                    && (!iLeappFile.getNameExtension().isEmpty() && (!iLeappFile.isVirtual())))
-                    && ((iLeappFile.getName().toLowerCase().contains(".zip") || (iLeappFile.getName().toLowerCase().contains(".tar")))
-                    || iLeappFile.getName().toLowerCase().contains(".tgz"))) {
-                iLeappFilesToProcess.add(iLeappFile);
-
-            }
-        }
-
-        return iLeappFilesToProcess;
-    }
-
     /**
      * Build the command to run xLeapp
      * @param moduleOutputPath output path for xLeapp
diff --git a/Core/src/org/sleuthkit/autopsy/modules/leappanalyzers/LeappFileProcessor.java b/Core/src/org/sleuthkit/autopsy/modules/leappanalyzers/LeappFileProcessor.java
index f4e24aca39da464b32d98d49d6fa6c7323b70316..3e992f0c0580a180765fa64fa8681702ed6a82a3 100644
--- a/Core/src/org/sleuthkit/autopsy/modules/leappanalyzers/LeappFileProcessor.java
+++ b/Core/src/org/sleuthkit/autopsy/modules/leappanalyzers/LeappFileProcessor.java
@@ -35,8 +35,10 @@
 import java.util.Collections;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.HashSet;
 import static java.util.Locale.US;
 import java.util.Map;
+import java.util.Set;
 import java.util.logging.Level;
 import java.util.stream.Collectors;
 import java.util.stream.IntStream;
@@ -48,7 +50,9 @@
 import org.apache.commons.io.FilenameUtils;
 import org.openide.util.NbBundle;
 import org.sleuthkit.autopsy.casemodule.Case;
+import static org.sleuthkit.autopsy.casemodule.Case.getCurrentCase;
 import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
+import org.sleuthkit.autopsy.casemodule.services.FileManager;
 import org.sleuthkit.autopsy.coreutils.Logger;
 import org.sleuthkit.autopsy.coreutils.PlatformUtil;
 import org.sleuthkit.autopsy.ingest.IngestModule.IngestModuleException;
@@ -698,4 +702,40 @@ private void configExtractor() throws IOException {
                 xmlFile, true);
     }
 
+    
+    private static final Set<String> ALLOWED_EXTENSIONS = new HashSet<>(Arrays.asList("zip", "tar", "tgz")); 
+        
+    /**
+     * Find the files that will be processed by the iLeapp program
+     *
+     * @param dataSource
+     *
+     * @return List of abstract files to process.
+     */
+    static List<AbstractFile> findLeappFilesToProcess(Content dataSource) {
+
+        List<AbstractFile> leappFiles = new ArrayList<>();
+
+        FileManager fileManager = getCurrentCase().getServices().getFileManager();
+
+        // findFiles use the SQL wildcard % in the file name
+        try {
+            leappFiles = fileManager.findFiles(dataSource, "%", "/"); //NON-NLS
+        } catch (TskCoreException ex) {
+            logger.log(Level.WARNING, "No files found to process"); //NON-NLS
+            return leappFiles;
+        }
+
+        List<AbstractFile> leappFilesToProcess = new ArrayList<>();
+        for (AbstractFile leappFile : leappFiles) {
+            if (((leappFile.getLocalAbsPath() != null)
+                    && !leappFile.isVirtual())
+                    && leappFile.getNameExtension() != null 
+                    && ALLOWED_EXTENSIONS.contains(leappFile.getNameExtension().toLowerCase())) {
+                leappFilesToProcess.add(leappFile);
+            }
+        }
+
+        return leappFilesToProcess;
+    }
 }