--- a/jelly.py.orig
+++ b/jelly.py
@@ -164,7 +164,11 @@ def _newInstance(cls, state=_NO_STATE):
         inst = cls.__new__(cls)

         if state is not _NO_STATE:
-            inst.__dict__.update(state) # Copy 'instance' behaviour
+            for k,v in inst.__dict__.iteritems():
+                if k not in state:
+                    state[k] = v
+            inst.__dict__ = state
+
     else:
         if state is not _NO_STATE:
             inst = instance(cls, state)
