diff --git a/lib/config.py b/lib/config.py
index e4d948f4b56bdabe8eb38706b30628219b729b86..fcfac9ecc870337213db26bac6714c1e6d2c2a1d 100644
--- a/lib/config.py
+++ b/lib/config.py
@@ -545,6 +545,15 @@ class ConfigWriter:
       f.close()
     # we don't need to do os.close(fd) as f.close() did it
     os.rename(name, destination)
+    # re-set our cache as not to re-read the config file
+    try:
+      st = os.stat(destination)
+    except OSError, err:
+      raise errors.ConfigurationError, "Can't stat config file: %s" % err
+    self._config_time = st.st_mtime
+    self._config_size = st.st_size
+    self._config_inode = st.st_ino
+    # and redistribute the config file
     self._DistributeConfig()
 
   def InitConfig(self, node, primary_ip, secondary_ip,