diff --git a/Lib/test/string_tests.py b/Lib/test/string_tests.py
index 9f092b9..60f5fdb 100644
--- a/Lib/test/string_tests.py
+++ b/Lib/test/string_tests.py
@@ -657,6 +657,15 @@
         self.checkraises(TypeError, ' ', 'join')
         self.checkraises(TypeError, ' ', 'join', 7)
         self.checkraises(TypeError, ' ', 'join', Sequence([7, 'hello', 123L]))
+        try:
+            def f():
+                yield 4 + ""
+            self.fixtype(' ').join(f())
+        except TypeError, e:
+            if '+' not in str(e):
+                self.fail('join() ate exception message')
+        else:
+            self.fail('exception not raised')
 
     def test_formatting(self):
         self.checkequal('+hello+', '+%s+', '__mod__', 'hello')
diff --git a/Lib/test/test_string.py b/Lib/test/test_string.py
index d80c3b6..fdd431d 100644
--- a/Lib/test/test_string.py
+++ b/Lib/test/test_string.py
@@ -51,6 +51,17 @@
 
         self.checkraises(TypeError, string_tests.BadSeq1(), 'join', ' ')
         self.checkequal('a b c', string_tests.BadSeq2(), 'join', ' ')
+        try:
+            def f():
+                yield 4 + ""
+            self.fixtype(' ').join(f())
+        except TypeError, e:
+            if '+' not in str(e):
+                self.fail('join() ate exception message')
+        else:
+            self.fail('exception not raised')
+
+
 
 
 class ModuleTest(unittest.TestCase):
diff --git a/Objects/stringobject.c b/Objects/stringobject.c
index 78560de..037fa6a 100644
--- a/Objects/stringobject.c
+++ b/Objects/stringobject.c
@@ -1620,10 +1620,6 @@
 
 	seq = PySequence_Fast(orig, "");
 	if (seq == NULL) {
-		if (PyErr_ExceptionMatches(PyExc_TypeError))
-			PyErr_Format(PyExc_TypeError,
-				     "sequence expected, %.80s found",
-				     orig->ob_type->tp_name);
 		return NULL;
 	}
 
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 10ac80c..db2a690 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -4148,10 +4148,6 @@
 
     fseq = PySequence_Fast(seq, "");
     if (fseq == NULL) {
-	if (PyErr_ExceptionMatches(PyExc_TypeError))
-	    PyErr_Format(PyExc_TypeError,
-			 "sequence expected, %.80s found",
-			 seq->ob_type->tp_name);
     	return NULL;
     }
 
