diff --git a/libavcodec/cabac.h b/libavcodec/cabac.h
index 5cf1a9e39dace4f71a9fb2c72eb02bf4808a84d0..592fe1313a46749fa39a1affb618275e45ad5bfc 100644
--- a/libavcodec/cabac.h
+++ b/libavcodec/cabac.h
@@ -696,11 +696,12 @@ static int decode_significance_x86(CABACContext *c, int max_coeff, uint8_t *sign
         "addl %1, %%ecx                         \n\t"
         "movl %%ecx, (%%eax)                    \n\t"
         "addl $4, %%eax                         \n\t"
-        "movl %%eax, %2                         \n\t"
 
         "test $1, %%edx                         \n\t"
         " jnz 4f                                \n\t"
 
+        "movl %%eax, %2                         \n\t"
+
         "3:                                     \n\t"
         "addl $1, %1                            \n\t"
         "cmpl %5, %1                            \n\t"