diff --git a/Lib/test/test_uuid.py b/Lib/test/test_uuid.py
index a1663c5..43fa656 100644
--- a/Lib/test/test_uuid.py
+++ b/Lib/test/test_uuid.py
@@ -1,5 +1,6 @@
 from unittest import TestCase
 from test import support
+import builtins
 import uuid
 
 def importable(name):
@@ -176,6 +177,11 @@
             for u in equivalents:
                 for v in equivalents:
                     equal(u, v)
+
+            # Bug 7380: "bytes" and "bytes_le" should give the same type.
+            equal(type(u.bytes), builtins.bytes)
+            equal(type(u.bytes_le), builtins.bytes)
+
             ascending.append(u)
 
         # Test comparison of UUIDs.
diff --git a/Lib/uuid.py b/Lib/uuid.py
index b17f1c8..6e68794 100644
--- a/Lib/uuid.py
+++ b/Lib/uuid.py
@@ -13,7 +13,7 @@
     >>> import uuid
 
     # make a UUID based on the host ID and current time
-    >>> uuid.uuid1()
+    >>> uuid.uuid1()    # doctest: +SKIP
     UUID('a8098c1a-f86e-11da-bd1a-00112444be1e')
 
     # make a UUID using an MD5 hash of a namespace UUID and a name
@@ -21,7 +21,7 @@
     UUID('6fa459ea-ee8a-3ca4-894e-db77e160355e')
 
     # make a random UUID
-    >>> uuid.uuid4()
+    >>> uuid.uuid4()    # doctest: +SKIP
     UUID('16fd2706-8baf-433b-82eb-8c7fada847da')
 
     # make a UUID using a SHA-1 hash of a namespace UUID and a name
@@ -237,7 +237,7 @@
         bytes = bytearray()
         for shift in range(0, 128, 8):
             bytes.insert(0, (self.int >> shift) & 0xff)
-        return bytes
+        return bytes_(bytes)
 
     @property
     def bytes_le(self):
