diff --git a/SMPInstr.cpp b/SMPInstr.cpp
index b6a770c92635d2b2fb7568dd9477461f9664d07f..efdc450311b8555dfa8e221c1a6ad45cb72fcc6f 100644
--- a/SMPInstr.cpp
+++ b/SMPInstr.cpp
@@ -1421,6 +1421,8 @@ bool SMPInstr::InferOperatorType(SMPRegTransfer *CurrRT) {
 		case SMP_ROTATE_LEFT_CARRY: // rotate left through carry
 		case SMP_ROTATE_RIGHT:
 		case SMP_ROTATE_RIGHT_CARRY: // rotate right through carry
+		case SMP_ADD_CARRY:   // add with carry
+		case SMP_SUBTRACT_BORROW:  // subtract with borrow
 		case SMP_U_MULTIPLY:
 		case SMP_S_MULTIPLY:
 		case SMP_U_DIVIDE:
@@ -1519,7 +1521,6 @@ bool SMPInstr::InferOperatorType(SMPRegTransfer *CurrRT) {
 			break;
 
 		case SMP_ADD:
-		case SMP_ADD_CARRY:   // add with carry
 		case SMP_BITWISE_AND:
 		case SMP_BITWISE_OR:
 			// Extract the current types of right and left operands and the operator.
@@ -1648,7 +1649,6 @@ bool SMPInstr::InferOperatorType(SMPRegTransfer *CurrRT) {
 			break;
 
 		case SMP_SUBTRACT:
-		case SMP_SUBTRACT_BORROW:  // subtract with borrow
 			// Extract the current types of right and left operands and the operator.
 			OperType = CurrRT->GetOperatorType();
 			LeftOp = CurrRT->GetLeftOperand();