diff --git a/Lib/test/test_descr.py b/Lib/test/test_descr.py
index 7095f0b..5c4db30 100644
--- a/Lib/test/test_descr.py
+++ b/Lib/test/test_descr.py
@@ -1417,9 +1417,18 @@
     a = madtuple((1,2,3,4,5))
     verify(tuple(a) == (1,2,3,4,5))
     verify(tuple(a).__class__ is tuple)
+    verify(a[:].__class__ is tuple)
+    verify((a * 1).__class__ is tuple)
+    verify((a * 0).__class__ is tuple)
+    verify((a + ()).__class__ is tuple)
     a = madtuple(())
     verify(tuple(a) == ())
     verify(tuple(a).__class__ is tuple)
+    verify((a + a).__class__ is tuple)
+    verify((a * 0).__class__ is tuple)
+    verify((a * 1).__class__ is tuple)
+    verify((a * 2).__class__ is tuple)
+    verify(a[:].__class__ is tuple)
 
     class madstring(str):
         _rev = None
diff --git a/Objects/tupleobject.c b/Objects/tupleobject.c
index b07eb74..f371e1e 100644
--- a/Objects/tupleobject.c
+++ b/Objects/tupleobject.c
@@ -298,8 +298,7 @@
 		ihigh = a->ob_size;
 	if (ihigh < ilow)
 		ihigh = ilow;
-	if (ilow == 0 && ihigh == a->ob_size) {
-		/* XXX can only do this if tuples are immutable! */
+	if (ilow == 0 && ihigh == a->ob_size && PyTuple_CheckExact(a)) {
 		Py_INCREF(a);
 		return (PyObject *)a;
 	}
@@ -366,10 +365,14 @@
 	if (n < 0)
 		n = 0;
 	if (a->ob_size == 0 || n == 1) {
-		/* Since tuples are immutable, we can return a shared
-		   copy in this case */
-		Py_INCREF(a);
-		return (PyObject *)a;
+		if (PyTuple_CheckExact(a)) {
+			/* Since tuples are immutable, we can return a shared
+			   copy in this case */
+			Py_INCREF(a);
+			return (PyObject *)a;
+		}
+		if (a->ob_size == 0)
+			return PyTuple_New(0);
 	}
 	size = a->ob_size * n;
 	if (size/a->ob_size != n)
