diff --git a/libavcodec/eval.c b/libavcodec/eval.c
index 9a86054c8af2c9f1b0874a9039819425f7d8c194..4b5fdbd70aac2a115d8285cd39d3604f4d1b76f3 100644
--- a/libavcodec/eval.c
+++ b/libavcodec/eval.c
@@ -382,9 +382,14 @@ AVEvalExpr * ff_parse(char *s, const char **const_name,
                char **error){
     Parser p;
     AVEvalExpr * e;
+    char w[strlen(s) + 1], * wp = w;
+
+    while (*s)
+        if (!isspace(*s++)) *wp++ = s[-1];
+    *wp++ = 0;
 
     p.stack_index=100;
-    p.s= s;
+    p.s= w;
     p.const_name = const_name;
     p.func1      = func1;
     p.func1_name = func1_name;