diff --git a/aksetup_helper.py b/aksetup_helper.py
index cafdad6455a99938549c0bfbe41c6241d040f414..12953df942ab28abfbba3d699cb33d780662529e 100644
--- a/aksetup_helper.py
+++ b/aksetup_helper.py
@@ -486,7 +486,7 @@ class StringListOption(Option):
         if default is None:
             return None
 
-        return ",".join([str(el) for el in default])
+        return ",".join([str(el).replace(",", r"\,") for el in default])
 
     def get_help(self, default):
         return Option.get_help(self, default) + " (several ok)"
@@ -497,7 +497,11 @@ class StringListOption(Option):
             return None
         else:
             if opt:
-                return opt.split(",")
+                import re
+                sep = re.compile(r"(?<!\\),")
+                result = sep.split(opt)
+                result = [i.replace(r"\,", ",") for i in result]
+                return result
             else:
                 return []