diff --git a/libswresample/swresample_test.c b/libswresample/swresample_test.c
index 35eede231ceabb299f47280c291a99a1a93cab00..7c6e4668716abaea04359a18d3dcb36540d2bd4b 100644
--- a/libswresample/swresample_test.c
+++ b/libswresample/swresample_test.c
@@ -357,6 +357,7 @@ int main(int argc, char **argv){
                 maxdiff= FFMAX(maxdiff, FFABS(a-b));
             }
             sse= sum_aa + sum_bb - 2*sum_ab;
+            if(sse < 0 && sse > -0.00001) sse=0; //fix rounding error
 
             fprintf(stderr, "[e:%f c:%f max:%f] len:%5d\n", sqrt(sse/out_count), sum_ab/(sqrt(sum_aa*sum_bb)), maxdiff, out_count);
         }
@@ -386,6 +387,7 @@ int main(int argc, char **argv){
                     maxdiff= FFMAX(maxdiff, FFABS(a-b));
                 }
                 sse= sum_aa + sum_bb - 2*sum_ab;
+                if(sse < 0 && sse > -0.00001) sse=0; //fix rounding error
 
                 fprintf(stderr, "[e:%f c:%f max:%f] len:%5d F:%3d\n", sqrt(sse/flush_count), sum_ab/(sqrt(sum_aa*sum_bb)), maxdiff, flush_count, flush_i);
             }