diff --git a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/XLSImport.java b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/XLSImport.java
index 92a8ce3ea9917401d8f351e133ad78ff3a8c1508..b878c147aea36abd158744e81462bf979511e99e 100644
--- a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/XLSImport.java
+++ b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/XLSImport.java
@@ -44,8 +44,6 @@ public class XLSImport
 
     private final ImportOptions options;
 
-    private final String xlsName;
-
     private final Map<String, Integer> beforeVersions;
 
     private final Map<String, Integer> afterVersions;
@@ -78,15 +76,13 @@ public class XLSImport
 
     private final DatabaseConsistencyChecker dbChecker;
 
-    public XLSImport(String sessionToken, IApplicationServerApi api, Map<String, String> scripts, ImportModes mode, ImportOptions options,
-            String xlsName)
+    public XLSImport(String sessionToken, IApplicationServerApi api, Map<String, String> scripts, ImportModes mode, ImportOptions options, String ignoredXLSName)
     {
         this.sessionToken = sessionToken;
         this.api = api;
         this.options = options;
-        this.xlsName = xlsName;
-        this.beforeVersions = Collections.unmodifiableMap(VersionInfoHandler.loadVersions(options, xlsName));
-        this.afterVersions = VersionInfoHandler.loadVersions(options, xlsName);
+        this.beforeVersions = Collections.unmodifiableMap(VersionInfoHandler.loadAllVersions(options));
+        this.afterVersions = VersionInfoHandler.loadAllVersions(options);
         this.dbChecker = new DatabaseConsistencyChecker(this.sessionToken, this.api, this.afterVersions);
         this.delayedExecutor = new DelayedExecutionDecorator(this.sessionToken, this.api);
 
@@ -215,7 +211,7 @@ public class XLSImport
 
         this.delayedExecutor.hasFinished();
 
-        VersionInfoHandler.writeVersions(options, xlsName, afterVersions);
+        VersionInfoHandler.writeAllVersions(options, afterVersions);
         return new ArrayList<>(this.delayedExecutor.getIds());
     }
 
diff --git a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/handler/VersionInfoHandler.java b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/handler/VersionInfoHandler.java
index dd9781f2ad2c1db6f2e3f6cfed4c512741918ee8..904b9134b66d2522d7920e6ef4a061b13b8461c0 100644
--- a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/handler/VersionInfoHandler.java
+++ b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/handler/VersionInfoHandler.java
@@ -25,17 +25,31 @@ public class VersionInfoHandler
     private static final String DEVELOPMENT_DEFAULT_PATH =
             "../server-application-server/targets/xls-import-version-info-dev.json";
 
-    public static Map<String, Integer> loadVersions(ImportOptions options, String xlsName)
+    public static Map<String, Integer> loadAllVersions(ImportOptions options)
     {
         if (options.getIgnoreVersioning())
         {
             return new HashMap<>();
         }
-        return loadVersionFile().getOrDefault("VERSION-" + xlsName, new HashMap<>());
+        Map<String, Integer> allVersionsMerged = new HashMap<>();
+        Map<String, Map<String, Integer>> allVersions = loadVersionFile();
+        // Versions from all XLS files are NOW merged to follow the same modification rules as on the UI
+        for (String versionsFromIgnoredXLSName:allVersions.keySet()) {
+            Map<String, Integer> versionsForIgnoredXLSName = allVersions.get(versionsFromIgnoredXLSName);
+            for (String type:versionsForIgnoredXLSName.keySet()) {
+                Integer version = versionsForIgnoredXLSName.get(type);
+                // Keep the highest version
+                if (allVersionsMerged.containsKey(type) == false ||
+                        allVersionsMerged.get(type) > version) {
+                    allVersionsMerged.put(type, version);
+                }
+            }
+        }
+
+        return allVersionsMerged;
     }
 
-    public static void writeVersions(ImportOptions options, String xlsName,
-            Map<String, Integer> versions)
+    public static void writeAllVersions(ImportOptions options, Map<String, Integer> versions)
     {
         if (options.getIgnoreVersioning())
         {
@@ -46,7 +60,7 @@ public class VersionInfoHandler
         String newPath = path + ".new";
 
         Map<String, Map<String, Integer>> allVersions = loadVersionFile();
-        allVersions.put("VERSION-" + xlsName, versions);
+        allVersions.put("VERSION-GENERAL", versions);
         JSONHandler.writeVersionDataFile(allVersions, newPath);
 
         try