diff --git a/vp9/encoder/vp9_mcomp.c b/vp9/encoder/vp9_mcomp.c
index efdb6124e137542fabdda7e9e1dd7607d42244f3..fee11fd2be7f0413209becfcb0ca36477d9ae2e2 100644
--- a/vp9/encoder/vp9_mcomp.c
+++ b/vp9/encoder/vp9_mcomp.c
@@ -1726,7 +1726,7 @@ int vp9_full_search_sadx3(MACROBLOCK *x, int_mv *ref_mv,
     check_here = r * mv_stride + in_what + col_min;
     c = col_min;
 
-    while ((c + 2) < col_max) {
+    while ((c + 2) < col_max && fn_ptr->sdx3f != NULL) {
       int i;
 
       fn_ptr->sdx3f(what, what_stride, check_here, in_what_stride, sad_array);