diff --git a/Core/release/modules/ext/jython-standalone-2.7.0.jar b/Core/release/modules/ext/jython-standalone-2.7.0.jar
index e7b35d6c5f68da2c4b474ddf135b03b77751d84e..0e4dc16cdbb956e53dd93041c5a058887d1531fa 100755
Binary files a/Core/release/modules/ext/jython-standalone-2.7.0.jar and b/Core/release/modules/ext/jython-standalone-2.7.0.jar differ
diff --git a/Core/src/org/sleuthkit/autopsy/ingest/IngestJobSettings.java b/Core/src/org/sleuthkit/autopsy/ingest/IngestJobSettings.java
index d0cb616e0676f1891ade2cf9aba18a010eacf651..14b1982d43a6ceacca318a2ae6062fe09273fd6a 100644
--- a/Core/src/org/sleuthkit/autopsy/ingest/IngestJobSettings.java
+++ b/Core/src/org/sleuthkit/autopsy/ingest/IngestJobSettings.java
@@ -22,6 +22,7 @@
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
+import java.io.ObjectStreamClass;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
@@ -341,7 +342,9 @@ private IngestModuleIngestJobSettings loadModuleSettings(IngestModuleFactory fac
      * @return The file path.
      */
     private String getModuleSettingsFilePath(IngestModuleFactory factory) {
-        String fileName = factory.getClass().getCanonicalName() + IngestJobSettings.MODULE_SETTINGS_FILE_EXT;
+        // add serialVersionUID to maintain unique names for ingest modules with
+        // same factory class name.
+        String fileName = factory.getClass().getCanonicalName() + "-" + Long.toString(ObjectStreamClass.lookup(factory.getDefaultIngestJobSettings().getClass()).getSerialVersionUID()) + IngestJobSettings.MODULE_SETTINGS_FILE_EXT;
         Path path = Paths.get(this.moduleSettingsFolderPath, fileName);
         return path.toAbsolutePath().toString();
     }
@@ -384,12 +387,6 @@ private void store() {
     private void saveModuleSettings(IngestModuleFactory factory, IngestModuleIngestJobSettings settings) {
         try {
             String moduleSettingsFilePath = getModuleSettingsFilePath(factory);
-            // compiled python modules have substring org.python.proxies. It can be used to identify them.
-            if (isPythonModuleSettingsFile(moduleSettingsFilePath)) {
-                // compiled python modules have variable instance number as a part of their file name.
-                // This block of code gets rid of that variable instance number and helps maitains constant module name over multiple runs.
-                moduleSettingsFilePath = moduleSettingsFilePath.replaceAll("[$][\\d]+.settings$", "\\$.settings");
-            }
             try (NbObjectOutputStream out = new NbObjectOutputStream(new FileOutputStream(moduleSettingsFilePath))) {
                 out.writeObject(settings);
             }