diff --git a/python_apps/media-monitor2/media/monitor/listeners.py b/python_apps/media-monitor2/media/monitor/listeners.py
index b41eff9be..48a4cd5bf 100644
--- a/python_apps/media-monitor2/media/monitor/listeners.py
+++ b/python_apps/media-monitor2/media/monitor/listeners.py
@@ -65,9 +65,11 @@ class BaseListener(object):
 
 class OrganizeListener(BaseListener, pyinotify.ProcessEvent, Loggable):
     def process_IN_CLOSE_WRITE(self, event):
+        self.logger.info("===> handling: '%s'" % str(event))
         self.process_to_organize(event)
     # got cookie
     def process_IN_MOVED_TO(self, event):
+        self.logger.info("===> handling: '%s'" % str(event))
         self.process_to_organize(event)
 
     def process_default(self, event):
diff --git a/python_apps/media-monitor2/media/monitor/manager.py b/python_apps/media-monitor2/media/monitor/manager.py
index 11dc6fa9a..283511dbd 100644
--- a/python_apps/media-monitor2/media/monitor/manager.py
+++ b/python_apps/media-monitor2/media/monitor/manager.py
@@ -1,4 +1,6 @@
 import pyinotify
+import threading
+import time
 from pydispatch import dispatcher
 
 from os.path                 import normpath
@@ -9,6 +11,17 @@ from media.monitor.handler   import ProblemFileHandler
 from media.monitor.organizer import Organizer
 import media.monitor.pure as mmp
 
+
+class ManagerTimeout(threading.Thread,Loggable):
+    def __init__(self, manager):
+        threading.Thread.__init__(self)
+        self.manager = manager
+    def run(self):
+        while True:
+            time.sleep(3)
+            self.manager.flush_organize()
+            self.logger.info("Force flushed organize...")
+
 class Manager(Loggable):
     """
     An abstraction over media monitors core pyinotify functions. These
@@ -23,6 +36,10 @@ class Manager(Loggable):
         self.watch_channel    = 'watch'
         self.organize_channel = 'organize'
         self.watch_listener   = StoreWatchListener(signal = self.watch_channel)
+        # TODO : change this to  a weak ref
+        self.__timeout_thread = ManagerTimeout(self)
+        self.__timeout_thread.daemon = True
+        self.__timeout_thread.start()
         self.organize = {
             'organize_path'      : None,
             'imported_path'      : None,
@@ -140,6 +157,10 @@ class Manager(Loggable):
         self.organize['organize_listener'].flush_events(new_path)
         self.__add_watch(new_path, self.organize['organize_listener'])
 
+    def flush_organize(self):
+        path = self.organize['organize_path']
+        self.organize['organize_listener'].flush_events(path)
+
     def get_imported_path(self):
         return self.organize['imported_path']