diff --git a/Lib/test/test_bytes.py b/Lib/test/test_bytes.py
index ad11686..e39b9ea 100644
--- a/Lib/test/test_bytes.py
+++ b/Lib/test/test_bytes.py
@@ -454,8 +454,9 @@
 
     def test_maketrans(self):
         transtable = b'\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037 !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`xyzdefghijklmnopqrstuvwxyz{|}~\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377'
-
         self.assertEqual(self.type2test.maketrans(b'abc', b'xyz'), transtable)
+        transtable = b'\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037 !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374xyz'
+        self.assertEqual(self.type2test.maketrans(b'\375\376\377', b'xyz'), transtable)
         self.assertRaises(ValueError, self.type2test.maketrans, b'abc', b'xyzq')
         self.assertRaises(TypeError, self.type2test.maketrans, 'abc', 'def')
 
@@ -1074,13 +1075,10 @@
 
 
 def test_main():
-    test.support.run_unittest(BytesTest)
-    test.support.run_unittest(ByteArrayTest)
-    test.support.run_unittest(AssortedBytesTest)
-    test.support.run_unittest(BytesAsStringTest)
-    test.support.run_unittest(ByteArrayAsStringTest)
-    test.support.run_unittest(ByteArraySubclassTest)
-    test.support.run_unittest(BytearrayPEP3137Test)
+    test.support.run_unittest(
+        BytesTest, AssortedBytesTest, BytesAsStringTest,
+        ByteArrayTest, ByteArrayAsStringTest, ByteArraySubclassTest,
+        BytearrayPEP3137Test)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Misc/NEWS b/Misc/NEWS
index ecd9fc2..101487a 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,9 @@
 Core and Builtins
 -----------------
 
+- Issue #7065: Fix a crash in bytes.maketrans and bytearray.maketrans when
+  using byte values greater than 127.  Patch by egreen.
+
 - Issue #1571184: The Unicode database contains properties for more characters.
   The tables for code points representing numeric values, white spaces or line
   breaks are now generated from the official Unicode Character Database files,
diff --git a/Objects/bytes_methods.c b/Objects/bytes_methods.c
index 3bac2d1..6908eb8 100644
--- a/Objects/bytes_methods.c
+++ b/Objects/bytes_methods.c
@@ -427,7 +427,7 @@
 {
 	PyObject *frm, *to, *res = NULL;
 	Py_buffer bfrm, bto;
-	int i;
+	Py_ssize_t i;
 	char *p;
 
 	bfrm.len = -1;
@@ -452,7 +452,7 @@
 	for (i = 0; i < 256; i++)
 		p[i] = i;
 	for (i = 0; i < bfrm.len; i++) {
-		p[(int)((char *)bfrm.buf)[i]] = ((char *)bto.buf)[i];
+		p[((unsigned char *)bfrm.buf)[i]] = ((char *)bto.buf)[i];
 	}
 
   done:
