diff --git a/warden3/contrib/connectors/hp-labrea/labrea-idea.py b/warden3/contrib/connectors/hp-labrea/labrea-idea.py
index f87f4a1c96221563c02bd8d600e59217fbf9a88a..c9ce75fac02e0fc12d3f8e011881aadd5996d262 100755
--- a/warden3/contrib/connectors/hp-labrea/labrea-idea.py
+++ b/warden3/contrib/connectors/hp-labrea/labrea-idea.py
@@ -52,7 +52,8 @@ class WindowContextMgr(object):
         return aggr_events
 
     def process(self, event=None, timestamp=None):
-        self.update_timestamp = timestamp
+        if timestamp > self.update_timestamp:
+            self.update_timestamp = timestamp
 
         aggr_events = []
 
@@ -73,7 +74,9 @@ class WindowContextMgr(object):
 
         return aggr_events
 
-    def close(self):
+    def close(self, timestamp):
+        if timestamp is not None and timestamp > self.update_timestamp:
+            self.update_timestamp = timestamp
         aggr_events = []
         for context in self.contexts.values():
             closed = self.ctx_close(context)
@@ -650,7 +653,8 @@ def main():
                     time.sleep(opts.poll)
 
         for context in contexts:
-            save_events(context.close(), filer)
+            timestamp = int(time.time()) if opts.realtime else None
+            save_events(context.close(timestamp), filer)
 
     except Exception:
         logging.exception("Exception")