diff --git a/Lib/test/test_typing.py b/Lib/test/test_typing.py
index a74ec07..dc4c152 100644
--- a/Lib/test/test_typing.py
+++ b/Lib/test/test_typing.py
@@ -1,4 +1,5 @@
 from collections import namedtuple
+import pickle
 import re
 import sys
 from unittest import TestCase, main
@@ -583,6 +584,35 @@
         self.assertEqual(repr(MySimpleMapping),
                          __name__ + '.' + 'MySimpleMapping[~XK, ~XV]')
 
+    def test_dict(self):
+        T = TypeVar('T')
+        class B(Generic[T]):
+            pass
+        b = B()
+        b.foo = 42
+        self.assertEqual(b.__dict__, {'foo': 42})
+        class C(B[int]):
+            pass
+        c = C()
+        c.bar = 'abc'
+        self.assertEqual(c.__dict__, {'bar': 'abc'})
+
+    def test_pickle(self):
+        T = TypeVar('T')
+        class B(Generic[T]):
+            pass
+        global C  # pickle wants to reference the class by name
+        class C(B[int]):
+            pass
+        c = C()
+        c.foo = 42
+        c.bar = 'abc'
+        z = pickle.dumps(c)
+        x = pickle.loads(z)
+        self.assertEqual(x.foo, 42)
+        self.assertEqual(x.bar, 'abc')
+        self.assertEqual(x.__dict__, {'foo': 42, 'bar': 'abc'})
+
     def test_errors(self):
         with self.assertRaises(TypeError):
             B = SimpleMapping[XK, Any]
diff --git a/Lib/typing.py b/Lib/typing.py
index d900036..49c4a06 100644
--- a/Lib/typing.py
+++ b/Lib/typing.py
@@ -981,7 +981,7 @@
                         "Cannot substitute %s for %s in %s" %
                         (_type_repr(new), _type_repr(old), self))
 
-        return self.__class__(self.__name__, self.__bases__,
+        return self.__class__(self.__name__, (self,) + self.__bases__,
                               dict(self.__dict__),
                               parameters=params,
                               origin=self,
