diff --git a/warden3/contrib/connectors/hp-labrea/labrea-idea.py b/warden3/contrib/connectors/hp-labrea/labrea-idea.py
index 89ef6f170bdf7b55907ea2f01841338be054ba7b..1d383c07773c817b6173a14e172da74da981c156 100755
--- a/warden3/contrib/connectors/hp-labrea/labrea-idea.py
+++ b/warden3/contrib/connectors/hp-labrea/labrea-idea.py
@@ -20,6 +20,7 @@ class FileWatcher(object):
     def __init__(self, filename, tail=True):
         self.filename = filename
         self.open()
+        self.line_buffer = ""
         if tail and self.f:
             self.f.seek(0, os.SEEK_END)
 
@@ -48,14 +49,19 @@ class FileWatcher(object):
         if not self.f:
             self.open()
             if not self.f:
-                return ""
+                return self.line_buffer
         res = self.f.readline()
         if not res:
             self._check_reopen()
             if not self.f:
-                return ""
+                return self.line_buffer
             res = self.f.readline()
-        return res
+        if not res.endswith("\n"):
+            self.line_buffer += res
+        else:
+            res = self.line_buffer + res
+            self.line_buffer = ""
+            return res
 
     def close(self):
         try: