diff --git a/py/bc.c b/py/bc.c
index 991b0cf26713de4a4bffceb0cdd3029402505551..89d8b74f91132dde847df7132fb5aa2be6d5e163 100644
--- a/py/bc.c
+++ b/py/bc.c
@@ -321,7 +321,7 @@ STATIC const byte opcode_format_table[64] = {
     OC4(O, O, U, U), // 0x38-0x3b
     OC4(U, O, B, O), // 0x3c-0x3f
     OC4(O, B, B, O), // 0x40-0x43
-    OC4(B, B, O, U), // 0x44-0x47
+    OC4(B, B, O, B), // 0x44-0x47
     OC4(U, U, U, U), // 0x48-0x4b
     OC4(U, U, U, U), // 0x4c-0x4f
     OC4(V, V, U, V), // 0x50-0x53
@@ -361,7 +361,7 @@ STATIC const byte opcode_format_table[64] = {
     OC4(B, B, B, B), // 0xcc-0xcf
 
     OC4(B, B, B, B), // 0xd0-0xd3
-    OC4(B, B, B, B), // 0xd4-0xd7
+    OC4(U, U, U, B), // 0xd4-0xd7
     OC4(B, B, B, B), // 0xd8-0xdb
     OC4(B, B, B, B), // 0xdc-0xdf
 
@@ -372,7 +372,7 @@ STATIC const byte opcode_format_table[64] = {
 
     OC4(B, B, B, B), // 0xf0-0xf3
     OC4(B, B, B, B), // 0xf4-0xf7
-    OC4(B, B, B, U), // 0xf8-0xfb
+    OC4(U, U, U, U), // 0xf8-0xfb
     OC4(U, U, U, U), // 0xfc-0xff
 };
 #undef OC4
diff --git a/tools/mpy-tool.py b/tools/mpy-tool.py
index 5de4ecf1ccc4ba475c87369c337a02190678fdd2..ac7b2c1ccf0c49aebd03d3fbeb9e32773fc15be1 100755
--- a/tools/mpy-tool.py
+++ b/tools/mpy-tool.py
@@ -105,7 +105,7 @@ def make_opcode_format():
     OC4(O, O, U, U), # 0x38-0x3b
     OC4(U, O, B, O), # 0x3c-0x3f
     OC4(O, B, B, O), # 0x40-0x43
-    OC4(B, B, O, U), # 0x44-0x47
+    OC4(B, B, O, B), # 0x44-0x47
     OC4(U, U, U, U), # 0x48-0x4b
     OC4(U, U, U, U), # 0x4c-0x4f
     OC4(V, V, U, V), # 0x50-0x53
@@ -145,7 +145,7 @@ def make_opcode_format():
     OC4(B, B, B, B), # 0xcc-0xcf
 
     OC4(B, B, B, B), # 0xd0-0xd3
-    OC4(B, B, B, B), # 0xd4-0xd7
+    OC4(U, U, U, B), # 0xd4-0xd7
     OC4(B, B, B, B), # 0xd8-0xdb
     OC4(B, B, B, B), # 0xdc-0xdf
 
@@ -156,7 +156,7 @@ def make_opcode_format():
 
     OC4(B, B, B, B), # 0xf0-0xf3
     OC4(B, B, B, B), # 0xf4-0xf7
-    OC4(B, B, B, U), # 0xf8-0xfb
+    OC4(U, U, U, U), # 0xf8-0xfb
     OC4(U, U, U, U), # 0xfc-0xff
     ))