diff --git a/vp8/common/blockd.h b/vp8/common/blockd.h
index 89fe035..88773e9 100644
--- a/vp8/common/blockd.h
+++ b/vp8/common/blockd.h
@@ -188,6 +188,7 @@
     unsigned char partitioning;
     unsigned char mb_skip_coeff;                                /* does this mb has coefficients at all, 1=no coefficients, 0=need decode tokens */
     unsigned char need_to_clamp_mvs;
+    unsigned char need_to_clamp_secondmv;
     unsigned char segment_id;                  /* Which set of segmentation parameters should be used for this MB */
 
     // Flags used for prediction status of various bistream signals
diff --git a/vp8/common/reconinter.c b/vp8/common/reconinter.c
index bd08e7f..ebcc665 100644
--- a/vp8/common/reconinter.c
+++ b/vp8/common/reconinter.c
@@ -541,13 +541,25 @@
     unsigned char *ptr;
     unsigned char *uptr, *vptr;
 
-    int mv_row = x->mode_info_context->mbmi.second_mv.as_mv.row;
-    int mv_col = x->mode_info_context->mbmi.second_mv.as_mv.col;
+    int_mv _16x16mv;
+    int mv_row;
+    int mv_col;
+
     int omv_row, omv_col;
 
     unsigned char *ptr_base = x->second_pre.y_buffer;
     int pre_stride = x->block[0].pre_stride;
 
+    _16x16mv.as_int = x->mode_info_context->mbmi.second_mv.as_int;
+
+    if (x->mode_info_context->mbmi.need_to_clamp_secondmv)
+    {
+        clamp_mv_to_umv_border(&_16x16mv.as_mv, x);
+    }
+
+    mv_row = _16x16mv.as_mv.row;
+    mv_col = _16x16mv.as_mv.col;
+
     ptr = ptr_base + (mv_row >> 3) * pre_stride + (mv_col >> 3);
 
     if ((mv_row | mv_col) & 7)
diff --git a/vp8/decoder/decodemv.c b/vp8/decoder/decodemv.c
index 8539ff2..07e4c90 100644
--- a/vp8/decoder/decodemv.c
+++ b/vp8/decoder/decodemv.c
@@ -656,6 +656,7 @@
     mb_to_top_edge -= LEFT_TOP_MARGIN;
     mb_to_bottom_edge += RIGHT_BOTTOM_MARGIN;
     mbmi->need_to_clamp_mvs = 0;
+    mbmi->need_to_clamp_secondmv = 0;
     mbmi->second_ref_frame = 0;
     /* Distance of Mb to the various image edges.
      * These specified to 8th pel as they are always compared to MV values that are in 1/8th pel units
@@ -894,7 +895,7 @@
                     read_mv(bc, &mbmi->second_mv.as_mv, (const MV_CONTEXT *) mvc);
                     mbmi->second_mv.as_mv.row += best_mv.as_mv.row;
                     mbmi->second_mv.as_mv.col += best_mv.as_mv.col;
-                    mbmi->need_to_clamp_mvs |= vp8_check_mv_bounds(&mbmi->second_mv,
+                    mbmi->need_to_clamp_secondmv = vp8_check_mv_bounds(&mbmi->second_mv,
                                                                    mb_to_left_edge,
                                                                    mb_to_right_edge,
                                                                    mb_to_top_edge,
