diff --git a/vp8/encoder/encodemb.c b/vp8/encoder/encodemb.c
index dcfe24f00472e3e8ad6c2d8d5c6bf5a9fbb600ff..8818156d49a4a36809f634557405e1312b86433d 100644
--- a/vp8/encoder/encodemb.c
+++ b/vp8/encoder/encodemb.c
@@ -20,6 +20,7 @@
 #include "dct.h"
 #include "vpx_mem/vpx_mem.h"
 #include "rdopt.h"
+#include "vp8/common/systemdependent.h"
 
 #if CONFIG_RUNTIME_CPU_DETECT
 #define IF_RTCD(x) (x)
@@ -241,6 +242,8 @@ void vp8_transform_mbuv_8x8(MACROBLOCK *x)
 {
     int i;
 
+    vp8_clear_system_state();
+
     for (i = 16; i < 24; i += 4)
     {
         x->vp8_short_fdct8x8(&x->block[i].src_diff[0],
@@ -253,6 +256,8 @@ void vp8_transform_intra_mby_8x8(MACROBLOCK *x)//changed
 {
     int i;
 
+    vp8_clear_system_state();
+
     for (i = 0; i < 9; i += 8)
     {
         x->vp8_short_fdct8x8(&x->block[i].src_diff[0],
@@ -278,6 +283,8 @@ void vp8_transform_mb_8x8(MACROBLOCK *x)
 {
     int i;
 
+    vp8_clear_system_state();
+
     for (i = 0; i < 9; i += 8)
     {
         x->vp8_short_fdct8x8(&x->block[i].src_diff[0],
@@ -309,6 +316,8 @@ void vp8_transform_mby_8x8(MACROBLOCK *x)
 {
     int i;
 
+    vp8_clear_system_state();
+
     for (i = 0; i < 9; i += 8)
     {
         x->vp8_short_fdct8x8(&x->block[i].src_diff[0],