diff --git a/test_typedcols.py b/test_typedcols.py
index 6e0ab5c7adb865cedd3b96600a7b0b274e1b42fd..53c0ec531e293395a26d0c692d357ff9f5061ca7 100755
--- a/test_typedcols.py
+++ b/test_typedcols.py
@@ -43,7 +43,8 @@ person_init_data = {
         "street": "Vrchlikova",
         "num": 12.3,
         "city": "Kocourkov",
-        "unknown": "blah"
+        "unknown": "blah",
+        "state": "Bananistan"
     },
     "discard1": "junk",
     "discard2": "garbage",
@@ -78,7 +79,8 @@ class TestTypedDict(unittest.TestCase):
                 "street": "Vrchlikova",
                 "num": 12,
                 "city": "Kocourkov",
-                "unknown": "blah"}})
+                "unknown": "blah",
+                "state": "Bananistan"}})
 
     def testSetGetKnownOk(self):
         self.person["address"]["city"] = "Brno"
@@ -128,7 +130,7 @@ class TestTypedDict(unittest.TestCase):
             it = self.person.items()
         res = sorted([v for v in it])
         self.assertEqual(res, [
-            ("address", {"city": "Kocourkov", "street": "Vrchlikova", "num": 12, "unknown": "blah"}),
+            ("address", {"city": "Kocourkov", "state": "Bananistan", "street": "Vrchlikova", "num": 12, "unknown": "blah"}),
             ("age", 34),
             ("name", "_Default_Value_"),
             ("note", None)
diff --git a/typedcols.py b/typedcols.py
index 427fb56113556599da12e31120e53e88da5ee5fe..5b6bea2ad087a24708ebb3df0a821705408b5063 100644
--- a/typedcols.py
+++ b/typedcols.py
@@ -275,7 +275,7 @@ class OpenTypedDict(TypedDictBase):
             definitions. Note however that these classes are mutable, so
             assigning new values replaces old ones.
         """
-        self.update(data)
+        super(OpenTypedDict, self).__init__(data)
         return self