diff --git a/Doc/c-api/set.rst b/Doc/c-api/set.rst
index 24caa10..e677c05 100644
--- a/Doc/c-api/set.rst
+++ b/Doc/c-api/set.rst
@@ -112,6 +112,9 @@
    the *key* is unhashable. Raise :exc:`PyExc_SystemError` if *anyset* is not a
    :class:`set`, :class:`frozenset`, or an instance of a subtype.
 
+The following functions are available for instances of :class:`set` or its
+subtypes but not for instances of :class:`frozenset` or its subtypes.
+
 
 .. cfunction:: int PySet_Add(PyObject *set, PyObject *key)
 
@@ -121,14 +124,6 @@
    Raise a :exc:`SystemError` if *set* is an not an instance of :class:`set` or its
    subtype.
 
-   .. versionchanged:: 2.6
-      Now works with instances of :class:`frozenset` or its subtypes.
-      Like :cfunc:`PyTuple_SetItem` in that it can be used to fill-in the
-      values of brand new frozensets before they are exposed to other code.
-
-The following functions are available for instances of :class:`set` or its
-subtypes but not for instances of :class:`frozenset` or its subtypes.
-
 
 .. cfunction:: int PySet_Discard(PyObject *set, PyObject *key)
 
diff --git a/Objects/setobject.c b/Objects/setobject.c
index 8a5f7cf..c8db7ce 100644
--- a/Objects/setobject.c
+++ b/Objects/setobject.c
@@ -2198,6 +2198,10 @@
 int
 PySet_Add(PyObject *set, PyObject *key)
 {
+	if (!PyType_IsSubtype(Py_TYPE(set), &PySet_Type)) {
+		PyErr_BadInternalCall();
+		return -1;
+	}
 	return set_add_key((PySetObject *)set, key);
 }
 
@@ -2341,6 +2345,7 @@
 	f = PyFrozenSet_New(dup);
 	assert(PySet_Size(f) == 3);
 	assert(PyFrozenSet_CheckExact(f));
+	assertRaises(PySet_Add(f, elem) == -1, PyExc_SystemError);
 	assertRaises(PySet_Discard(f, elem) == -1, PyExc_SystemError);
 	assertRaises(PySet_Pop(f) == NULL, PyExc_SystemError);
 	Py_DECREF(f);
diff --git a/Python/marshal.c b/Python/marshal.c
index 1b88ff9..0c611b6 100644
--- a/Python/marshal.c
+++ b/Python/marshal.c
@@ -860,7 +860,7 @@
 			retval = NULL;
 			break;
 		}
-                v = (type == TYPE_SET) ? PySet_New(NULL) : PyFrozenSet_New(NULL);
+		v = PyTuple_New((int)n);
 		if (v == NULL) {
 			retval = NULL;
 			break;
@@ -875,14 +875,18 @@
 				v = NULL;
 				break;
 			}
-			if (PySet_Add(v, v2) == -1) {
-                                Py_DECREF(v);
-                                Py_DECREF(v2);
-                                v = NULL;
-                                break;
-                        }
+			PyTuple_SET_ITEM(v, (int)i, v2);
 		}
-		retval = (v == NULL) ? NULL : v;
+		if (v == NULL) {
+			retval = NULL;
+			break;
+		}
+		if (type == TYPE_SET)
+			v3 = PySet_New(v);
+		else
+			v3 = PyFrozenSet_New(v);
+		Py_DECREF(v);
+		retval = v3;
 		break;
 
 	case TYPE_CODE:
