diff --git a/agkyra/syncer/localfs_client.py b/agkyra/syncer/localfs_client.py
index 09d2bbabc0f73bf5a86074a941fc6a2cef97c72f..467a653be8130d64e1f3849d17b82c13900ec08c 100644
--- a/agkyra/syncer/localfs_client.py
+++ b/agkyra/syncer/localfs_client.py
@@ -18,6 +18,8 @@ import stat
 import re
 import datetime
 import psutil
+import time
+
 from watchdog.observers import Observer
 from watchdog.events import FileSystemEventHandler
 import logging
@@ -39,6 +41,7 @@ OS_FILE_EXISTS = 17
 OS_NOT_A_DIR = 20
 OS_NO_FILE_OR_DIR = 2
 
+DEFAULT_MTIME_PRECISION = 1e-7
 
 exclude_regexes = ["\.#", "\.~", "~\$", "~.*\.tmp$", "\..*\.swp$"]
 exclude_pattern = re.compile('|'.join(exclude_regexes))
@@ -95,7 +98,7 @@ def mk_stash_name(filename):
 
 
 def eq_float(f1, f2):
-    return abs(f1 - f2) < 0.01
+    return abs(f1 - f2) < DEFAULT_MTIME_PRECISION
 
 
 def files_equal(f1, f2):
@@ -135,7 +138,7 @@ def get_live_info(path):
         return {LOCALFS_TYPE: common.T_UNHANDLED}
     if status in [LOCAL_EMPTY_DIR, LOCAL_NONEMPTY_DIR]:
         return {LOCALFS_TYPE: common.T_DIR}
-    live_info = {LOCALFS_MTIME: stats[stat.ST_MTIME],
+    live_info = {LOCALFS_MTIME: stats.st_mtime,
                  LOCALFS_SIZE: stats[stat.ST_SIZE],
                  LOCALFS_TYPE: common.T_FILE,
                  }
@@ -220,6 +223,7 @@ class LocalfsTargetHandle(object):
         self.cache_hide_path = settings.cache_hide_path
         self.cache_path = settings.cache_path
         self.get_db = settings.get_db
+        self.mtime_lag = settings.mtime_lag
         self.target_state = target_state
         self.objname = target_state.objname
         self.fspath = utils.join_path(self.rootpath, self.objname)
@@ -327,6 +331,7 @@ class LocalfsTargetHandle(object):
         if live_info == {}:
             return
         if live_info[LOCALFS_TYPE] == common.T_FILE:
+            time.sleep(self.mtime_lag)
             try:
                 link_file(filepath, self.fspath)
             except DirMissing:
diff --git a/agkyra/syncer/setup.py b/agkyra/syncer/setup.py
index b35b024ffcb813ee1a18e36d2f4e81e1e33d5692..f199aab9bd29d610272d90ddba0bde0438392021 100644
--- a/agkyra/syncer/setup.py
+++ b/agkyra/syncer/setup.py
@@ -121,6 +121,15 @@ class SyncerSettings():
 
         self.messager = Messager()
 
+        self.mtime_lag = self.determine_mtime_lag()
+
+    def determine_mtime_lag(self):
+        st = os.stat(self.cache_path)
+        mtime = st.st_mtime
+        if mtime.is_integer():
+            return 1.1
+        return 0
+
     def get_db(self, initialize=False):
         dbs = getattr(thread_local_data, "dbs", None)
         if dbs is not None: