diff --git a/src/main.c b/src/main.c
index 8ec03a283949ff39215b08a34f9f4f472a551d35..5ad9b96bc13ac3f7bc0f1d1652bbe3213c168503 100644
--- a/src/main.c
+++ b/src/main.c
@@ -324,6 +324,9 @@ parse_commands_file (struct WpDaemonData *d, GInputStream * stream,
       strncpy (buffer, linestart, cur - linestart);
       linestart = buffer;
       cur = buffer + (cur - linestart);
+    } else {
+      /* reset for the next g_input_stream_read() call */
+      linestart = cur = buffer;
     }
   } while (!eof);