diff --git a/av1/common/blockd.h b/av1/common/blockd.h
index 8f7761e..86a068e 100644
--- a/av1/common/blockd.h
+++ b/av1/common/blockd.h
@@ -119,7 +119,11 @@
 static INLINE int is_inter_singleref_mode(PREDICTION_MODE mode) {
   return mode >= NEARESTMV && mode <= NEWMV;
 }
-
+#if CONFIG_COMPOUND_SINGLEREF
+static INLINE int is_inter_singleref_comp_mode(PREDICTION_MODE mode) {
+  return mode >= SR_NEAREST_NEARMV && mode <= SR_NEW_NEWMV;
+}
+#endif  // CONFIG_COMPOUND_SINGLEREF
 static INLINE int is_inter_compound_mode(PREDICTION_MODE mode) {
   return mode >= NEAREST_NEARESTMV && mode <= NEW_NEWMV;
 }
@@ -143,16 +147,23 @@
     MB_MODE_COUNT,  // NEARMV
     MB_MODE_COUNT,  // ZEROMV
     MB_MODE_COUNT,  // NEWMV
-    NEARESTMV,      // NEAREST_NEARESTMV
-    NEARESTMV,      // NEAREST_NEARMV
-    NEARMV,         // NEAR_NEARESTMV
-    NEARMV,         // NEAR_NEARMV
-    NEARESTMV,      // NEAREST_NEWMV
-    NEWMV,          // NEW_NEARESTMV
-    NEARMV,         // NEAR_NEWMV
-    NEWMV,          // NEW_NEARMV
-    ZEROMV,         // ZERO_ZEROMV
-    NEWMV,          // NEW_NEWMV
+#if CONFIG_COMPOUND_SINGLEREF
+    NEARESTMV,  // SR_NEAREST_NEARMV
+    NEARESTMV,  // SR_NEAREST_NEWMV
+    NEARMV,     // SR_NEAR_NEWMV
+    ZEROMV,     // SR_ZERO_NEWMV
+    NEWMV,      // SR_NEW_NEWMV
+#endif          // CONFIG_COMPOUND_SINGLEREF
+    NEARESTMV,  // NEAREST_NEARESTMV
+    NEARESTMV,  // NEAREST_NEARMV
+    NEARMV,     // NEAR_NEARESTMV
+    NEARMV,     // NEAR_NEARMV
+    NEARESTMV,  // NEAREST_NEWMV
+    NEWMV,      // NEW_NEARESTMV
+    NEARMV,     // NEAR_NEWMV
+    NEWMV,      // NEW_NEARMV
+    ZEROMV,     // ZERO_ZEROMV
+    NEWMV,      // NEW_NEWMV
   };
   assert(is_inter_compound_mode(mode));
   return lut[mode];
@@ -177,16 +188,23 @@
     MB_MODE_COUNT,  // NEARMV
     MB_MODE_COUNT,  // ZEROMV
     MB_MODE_COUNT,  // NEWMV
-    NEARESTMV,      // NEAREST_NEARESTMV
-    NEARMV,         // NEAREST_NEARMV
-    NEARESTMV,      // NEAR_NEARESTMV
-    NEARMV,         // NEAR_NEARMV
-    NEWMV,          // NEAREST_NEWMV
-    NEARESTMV,      // NEW_NEARESTMV
-    NEWMV,          // NEAR_NEWMV
-    NEARMV,         // NEW_NEARMV
-    ZEROMV,         // ZERO_ZEROMV
-    NEWMV,          // NEW_NEWMV
+#if CONFIG_COMPOUND_SINGLEREF
+    NEARMV,     // SR_NEAREST_NEARMV
+    NEWMV,      // SR_NEAREST_NEWMV
+    NEWMV,      // SR_NEAR_NEWMV
+    NEWMV,      // SR_ZERO_NEWMV
+    NEWMV,      // SR_NEW_NEWMV
+#endif          // CONFIG_COMPOUND_SINGLEREF
+    NEARESTMV,  // NEAREST_NEARESTMV
+    NEARMV,     // NEAREST_NEARMV
+    NEARESTMV,  // NEAR_NEARESTMV
+    NEARMV,     // NEAR_NEARMV
+    NEWMV,      // NEAREST_NEWMV
+    NEARESTMV,  // NEW_NEARESTMV
+    NEWMV,      // NEAR_NEWMV
+    NEARMV,     // NEW_NEARMV
+    ZEROMV,     // ZERO_ZEROMV
+    NEWMV,      // NEW_NEWMV
   };
   assert(is_inter_compound_mode(mode));
   return lut[mode];
