diff --git a/Lib/test/test_bytes.py b/Lib/test/test_bytes.py
index b7e6800..1c161bb 100644
--- a/Lib/test/test_bytes.py
+++ b/Lib/test/test_bytes.py
@@ -130,12 +130,12 @@
         self.assertEqual(str8("abc") < b"ab", False)
         self.assertEqual(str8("abc") <= b"ab", False)
 
-        # Bytes should never compare equal to Unicode!
+        # Bytes can't be compared to Unicode!
         # Test this for all expected byte orders and Unicode character sizes
-        self.assertEqual(b"\0a\0b\0c" == "abc", False)
-        self.assertEqual(b"\0\0\0a\0\0\0b\0\0\0c" == "abc", False)
-        self.assertEqual(b"a\0b\0c\0" == "abc", False)
-        self.assertEqual(b"a\0\0\0b\0\0\0c\0\0\0" == "abc", False)
+        self.assertRaises(TypeError, lambda: b"\0a\0b\0c" == "abc")
+        self.assertRaises(TypeError, lambda: b"\0\0\0a\0\0\0b\0\0\0c" == "abc")
+        self.assertRaises(TypeError, lambda: b"a\0b\0c\0" == "abc")
+        self.assertRaises(TypeError, lambda: b"a\0\0\0b\0\0\0c\0\0\0" == "abc")
 
     def test_nohash(self):
         self.assertRaises(TypeError, hash, bytes())
diff --git a/Objects/bytesobject.c b/Objects/bytesobject.c
index b267cac..c132692 100644
--- a/Objects/bytesobject.c
+++ b/Objects/bytesobject.c
@@ -959,8 +959,14 @@
     Py_ssize_t minsize;
     int cmp;
 
-    /* Bytes can be compared to anything that supports the (binary) buffer
-       API.  Except Unicode. */
+    /* Bytes can be compared to anything that supports the (binary)
+       buffer API.  Except that a comparison with Unicode is always an
+       error, even if the comparison is for equality. */
+    if (PyObject_IsInstance(self, (PyObject*)&PyUnicode_Type) ||
+        PyObject_IsInstance(other, (PyObject*)&PyUnicode_Type)) {
+            PyErr_SetString(PyExc_TypeError, "can't compare bytes and str");
+            return NULL;
+    }
 
     self_size = _getbuffer(self, &self_bytes);
     if (self_size < 0) {
