diff --git a/py/objint_mpz.c b/py/objint_mpz.c
index c7a3074baec852fc5be18ec156e0c98d06fd9d62..0e318b492b93ceabcbf5089d4fc7ca73f6f143b9 100644
--- a/py/objint_mpz.c
+++ b/py/objint_mpz.c
@@ -221,7 +221,7 @@ mp_obj_t mp_obj_int_binary_op(mp_binary_op_t op, mp_obj_t lhs_in, mp_obj_t rhs_i
         return mp_obj_new_float(flhs / frhs);
 #endif
 
-    } else if (op >= MP_BINARY_OP_OR) {
+    } else if (op >= MP_BINARY_OP_INPLACE_OR) {
         mp_obj_int_t *res = mp_obj_int_new_mpz();
 
         switch (op) {
diff --git a/py/runtime0.h b/py/runtime0.h
index b34211d576f78c3718587a6ed168204911381d9d..3cf5e530dcd2da9475874a379a3321d7b0bb5c7f 100644
--- a/py/runtime0.h
+++ b/py/runtime0.h
@@ -70,20 +70,6 @@ typedef enum {
     MP_BINARY_OP_IS_NOT,
 
     // Arithmetic operations
-    MP_BINARY_OP_OR,
-    MP_BINARY_OP_XOR,
-    MP_BINARY_OP_AND,
-    MP_BINARY_OP_LSHIFT,
-    MP_BINARY_OP_RSHIFT,
-    MP_BINARY_OP_ADD,
-
-    MP_BINARY_OP_SUBTRACT,
-    MP_BINARY_OP_MULTIPLY,
-    MP_BINARY_OP_FLOOR_DIVIDE,
-    MP_BINARY_OP_TRUE_DIVIDE,
-    MP_BINARY_OP_MODULO,
-    MP_BINARY_OP_POWER,
-
     MP_BINARY_OP_INPLACE_OR,
     MP_BINARY_OP_INPLACE_XOR,
     MP_BINARY_OP_INPLACE_AND,
@@ -98,6 +84,20 @@ typedef enum {
     MP_BINARY_OP_INPLACE_MODULO,
     MP_BINARY_OP_INPLACE_POWER,
 
+    MP_BINARY_OP_OR,
+    MP_BINARY_OP_XOR,
+    MP_BINARY_OP_AND,
+    MP_BINARY_OP_LSHIFT,
+    MP_BINARY_OP_RSHIFT,
+    MP_BINARY_OP_ADD,
+
+    MP_BINARY_OP_SUBTRACT,
+    MP_BINARY_OP_MULTIPLY,
+    MP_BINARY_OP_FLOOR_DIVIDE,
+    MP_BINARY_OP_TRUE_DIVIDE,
+    MP_BINARY_OP_MODULO,
+    MP_BINARY_OP_POWER,
+
     // Operations below this line don't appear in bytecode, they
     // just identify special methods.
 
diff --git a/tests/cmdline/cmd_showbc.py.exp b/tests/cmdline/cmd_showbc.py.exp
index 0919aac531d603be698aab8e97b2748896ac716a..0e66a013def33517354d24bf6d2d56b5707cd22a 100644
--- a/tests/cmdline/cmd_showbc.py.exp
+++ b/tests/cmdline/cmd_showbc.py.exp
@@ -43,9 +43,9 @@ Raw bytecode (code_info_size=\\d\+, bytecode_size=\\d\+):
   bc=\\d\+ line=126
 00 LOAD_CONST_NONE
 01 LOAD_CONST_FALSE
-02 BINARY_OP 16 __add__
+02 BINARY_OP 28 __add__
 03 LOAD_CONST_TRUE
-04 BINARY_OP 16 __add__
+04 BINARY_OP 28 __add__
 05 STORE_FAST 0
 06 LOAD_CONST_SMALL_INT 0
 07 STORE_FAST 0
@@ -84,7 +84,7 @@ Raw bytecode (code_info_size=\\d\+, bytecode_size=\\d\+):
 \\d\+ STORE_FAST 7
 \\d\+ LOAD_FAST 0
 \\d\+ LOAD_DEREF 14
-\\d\+ BINARY_OP 16 __add__
+\\d\+ BINARY_OP 28 __add__
 \\d\+ STORE_FAST 8
 \\d\+ LOAD_FAST 0
 \\d\+ UNARY_OP 4
@@ -132,7 +132,7 @@ Raw bytecode (code_info_size=\\d\+, bytecode_size=\\d\+):
 \\d\+ DUP_TOP_TWO
 \\d\+ LOAD_SUBSCR
 \\d\+ LOAD_FAST 12
-\\d\+ BINARY_OP 28 __iadd__
+\\d\+ BINARY_OP 16 __iadd__
 \\d\+ ROT_THREE
 \\d\+ STORE_SUBSCR
 \\d\+ LOAD_DEREF 14
@@ -369,7 +369,7 @@ Raw bytecode (code_info_size=\\d\+, bytecode_size=\\d\+):
 42 STORE_FAST_N 19
 44 LOAD_FAST 9
 45 LOAD_FAST_N 19
-47 BINARY_OP 16 __add__
+47 BINARY_OP 28 __add__
 48 POP_TOP
 49 LOAD_CONST_NONE
 50 RETURN_VALUE
@@ -521,7 +521,7 @@ arg names: *
   bc=\\d\+ line=113
 00 LOAD_DEREF 0
 02 LOAD_CONST_SMALL_INT 1
-03 BINARY_OP 16 __add__
+03 BINARY_OP 28 __add__
 04 STORE_FAST 1
 05 LOAD_CONST_SMALL_INT 1
 06 STORE_DEREF 0
@@ -540,7 +540,7 @@ arg names: * b
   bc=\\d\+ line=139
 00 LOAD_FAST 1
 01 LOAD_DEREF 0
-03 BINARY_OP 16 __add__
+03 BINARY_OP 28 __add__
 04 RETURN_VALUE
 mem: total=\\d\+, current=\\d\+, peak=\\d\+
 stack: \\d\+ out of \\d\+