diff --git a/scripts/Interface/reduction_gui/reduction/diffraction/diffraction_adv_setup_script.py b/scripts/Interface/reduction_gui/reduction/diffraction/diffraction_adv_setup_script.py
index 3447ff8587ed8211f7e8c6514eaa1a8c147affea..e5c5997c5a735c84514087ec937a68e4e083e935 100644
--- a/scripts/Interface/reduction_gui/reduction/diffraction/diffraction_adv_setup_script.py
+++ b/scripts/Interface/reduction_gui/reduction/diffraction/diffraction_adv_setup_script.py
@@ -195,7 +195,7 @@ class AdvancedSetupScript(BaseScriptElement):
                 # special map for bool type
                 value = '1' if value else '0'
             else:
-                value = self.cache_dir.replace(",", ";") if keyname == "CacheDir" else str(value)
+                value = str(value)
 
             xml += f"<{keyname.lower()}>{value}</{keyname.lower()}>\n"
         xml += "</AdvancedSetup>\n"
@@ -290,7 +290,7 @@ class AdvancedSetupScript(BaseScriptElement):
             # NOTE: there should only be three entries, if not, let it fail early
             try:
                 self.cache_dir_scan_save, self.cache_dir_scan_1, self.cache_dir_scan_2 = BaseScriptElement.getStringElement(
-                    instrument_dom, 'cachedir', default=";;").split(";")
+                    instrument_dom, 'cachedir', default=";;").replace(";", ",").split(",")
             except ValueError:
                 self.cache_dir_scan_save = ''
                 self.cache_dir_scan_1 = ''