Use Py_CLEAR().  Add unrelated test.
diff --git a/Lib/test/test_set.py b/Lib/test/test_set.py
index 01dded6..aab0c57 100644
--- a/Lib/test/test_set.py
+++ b/Lib/test/test_set.py
@@ -23,6 +23,9 @@
         self.s = self.thetype(word)
         self.d = dict.fromkeys(word)
 
+    def test_new_or_init(self):
+        self.assertRaises(TypeError, self.thetype, [], 2)
+
     def test_uniquification(self):
         actual = sorted(self.s)
         expected = sorted(self.d)
diff --git a/Objects/setobject.c b/Objects/setobject.c
index 289d5d3..d57217c 100644
--- a/Objects/setobject.c
+++ b/Objects/setobject.c
@@ -105,7 +105,7 @@
 	w = (PySetObject *)make_new_set(&PyFrozenSet_Type, NULL);
 	if (w == NULL)
 		return NULL;
-	Py_DECREF(w->data);
+	Py_CLEAR(w->data);
 	Py_INCREF(d);
 	w->data = d;
 	return (PyObject *)w;