diff --git a/Doc/lib/libdis.tex b/Doc/lib/libdis.tex
index 67691b7..a5b2c2c 100644
--- a/Doc/lib/libdis.tex
+++ b/Doc/lib/libdis.tex
@@ -189,11 +189,6 @@
 Implements \code{TOS = TOS1 * TOS}.
 \end{opcodedesc}
 
-\begin{opcodedesc}{BINARY_DIVIDE}{}
-Implements \code{TOS = TOS1 / TOS} when
-\code{from __future__ import division} is not in effect.
-\end{opcodedesc}
-
 \begin{opcodedesc}{BINARY_FLOOR_DIVIDE}{}
 Implements \code{TOS = TOS1 // TOS}.
 \end{opcodedesc}
diff --git a/Include/opcode.h b/Include/opcode.h
index d8cb2cd..d05588a 100644
--- a/Include/opcode.h
+++ b/Include/opcode.h
@@ -26,7 +26,7 @@
 #define BINARY_POWER	19
 
 #define BINARY_MULTIPLY	20
-#define BINARY_DIVIDE	21
+
 #define BINARY_MODULO	22
 #define BINARY_ADD	23
 #define BINARY_SUBTRACT	24
diff --git a/Lib/compiler/pycodegen.py b/Lib/compiler/pycodegen.py
index f25b3fb..e34120e 100644
--- a/Lib/compiler/pycodegen.py
+++ b/Lib/compiler/pycodegen.py
@@ -206,14 +206,12 @@
         self.setups = misc.Stack()
         self.last_lineno = None
         self._setupGraphDelegation()
-        self._div_op = "BINARY_DIVIDE"
 
         # XXX set flags based on future features
         futures = self.get_module().futures
         for feature in futures:
             if feature == "division":
                 self.graph.setFlag(CO_FUTURE_DIVISION)
-                self._div_op = "BINARY_TRUE_DIVIDE"
             elif feature == "absolute_import":
                 self.graph.setFlag(CO_FUTURE_ABSIMPORT)
             elif feature == "with_statement":
@@ -1177,7 +1175,7 @@
         return self.binaryOp(node, 'BINARY_MULTIPLY')
 
     def visitDiv(self, node):
-        return self.binaryOp(node, self._div_op)
+        return self.binaryOp(node, 'BINARY_TRUE_DIVIDE')
 
     def visitFloorDiv(self, node):
         return self.binaryOp(node, 'BINARY_FLOOR_DIVIDE')
diff --git a/Lib/opcode.py b/Lib/opcode.py
index 095ca42..2b9212f 100644
--- a/Lib/opcode.py
+++ b/Lib/opcode.py
@@ -61,7 +61,7 @@
 def_op('LIST_APPEND', 18)
 def_op('BINARY_POWER', 19)
 def_op('BINARY_MULTIPLY', 20)
-def_op('BINARY_DIVIDE', 21)
+
 def_op('BINARY_MODULO', 22)
 def_op('BINARY_ADD', 23)
 def_op('BINARY_SUBTRACT', 24)
diff --git a/Python/ceval.c b/Python/ceval.c
index c854fcf..1a35610 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -1073,19 +1073,6 @@
 			if (x != NULL) continue;
 			break;
 
-		case BINARY_DIVIDE:
-			if (!_Py_QnewFlag) {
-				w = POP();
-				v = TOP();
-				x = PyNumber_Divide(v, w);
-				Py_DECREF(v);
-				Py_DECREF(w);
-				SET_TOP(x);
-				if (x != NULL) continue;
-				break;
-			}
-			/* -Qnew is in effect:	fall through to
-			   BINARY_TRUE_DIVIDE */
 		case BINARY_TRUE_DIVIDE:
 			w = POP();
 			v = TOP();
diff --git a/Python/compile.c b/Python/compile.c
index cfc6ef1..9ce2bf7 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -479,11 +479,6 @@
 		case BINARY_MULTIPLY:
 			newconst = PyNumber_Multiply(v, w);
 			break;
-		case BINARY_DIVIDE:
-			/* Cannot fold this operation statically since
-                           the result can depend on the run-time presence
-                           of the -Qnew flag */
-			return 0;
 		case BINARY_TRUE_DIVIDE:
 			newconst = PyNumber_TrueDivide(v, w);
 			break;
@@ -1302,7 +1297,6 @@
 
 		case BINARY_POWER:
 		case BINARY_MULTIPLY:
-		case BINARY_DIVIDE:
 		case BINARY_MODULO:
 		case BINARY_ADD:
 		case BINARY_SUBTRACT:
