diff --git a/reclass/datatypes/parameters.py b/reclass/datatypes/parameters.py
index c96a67d..f9f116c 100644
--- a/reclass/datatypes/parameters.py
+++ b/reclass/datatypes/parameters.py
@@ -122,13 +122,17 @@
         else:
             values = ValueList(Value(cur, self._settings, self._uri), self._settings)
 
-        if isinstance(new, Value):
+
+        value_list = isinstance(new, ValueList) or isinstance(cur, ValueList)
+
+        if not value_list and (new.contents() is None or new.contents() == cur.contents()):
+            return cur
+        elif isinstance(new, Value):
             values.append(new)
         elif isinstance(new, ValueList):
             values.extend(new)
         else:
             values.append(Value(new, self._settings, self._uri))
-
         return values
 
     def _merge_dict(self, cur, new, path):
@@ -178,7 +182,7 @@
         """
 
 
-        if cur is None:
+        if cur is None or str(cur) == 'None':
             return new
         elif isinstance(new, dict) and isinstance(cur, dict):
             return self._merge_dict(cur, new, path)
