diff --git a/rsvg-path.c b/rsvg-path.c
index ac6fb58..942308c 100644
--- a/rsvg-path.c
+++ b/rsvg-path.c
@@ -458,7 +458,7 @@ rsvg_parse_path_data (RSVGParsePathCtx * ctx, const char *data)
     gboolean in_frac = FALSE;
     gboolean in_exp = FALSE;
     gboolean exp_wait_sign = FALSE;
-    int sign = 0;
+    int sign = 1;
     int exp = 0;
     int exp_sign = 0;
     double frac = 0.0;
@@ -493,7 +493,7 @@ rsvg_parse_path_data (RSVGParsePathCtx * ctx, const char *data)
             }
             else if (in_frac) {
                 rsvg_path_end_of_number(ctx, val, sign, exp_sign, exp);
-                in_frac = FALSE;
+                //in_frac = TRUE;
                 in_exp = FALSE;
                 exp = 0;
                 exp_sign = 1;
