diff --git a/fs/skeleton/bin/ipapply b/fs/skeleton/bin/ipapply
index e11d4ef..d2117cf 100755
--- a/fs/skeleton/bin/ipapply
+++ b/fs/skeleton/bin/ipapply
@@ -23,6 +23,8 @@
 import struct
 import subprocess
 import sys
+import time
+
 import options
 
 optspec = """
@@ -38,6 +40,7 @@
 STATIC_IP_CONFIGS_DIR = base_path + '/config/ip/static'
 DYNAMIC_IP_CONFIGS_DIR = base_path + '/tmp/ip/dynamic'
 TMP_CONMAN_DIR = base_path + '/tmp/conman'
+DISABLED_FILE = base_path + '/tmp/ipapply_disabled'
 
 
 def AtomicWrite(filename, data):
@@ -270,7 +273,21 @@
   return ''.join((ApplyNetmask(ip, netmask), '/', netmask))
 
 
+def Disabled():
+  """Returns whether /tmp/ipapply_disabled has been written in the last hour."""
+  if os.path.exists(DISABLED_FILE):
+    disabled_s = (os.stat(DISABLED_FILE).st_mtime + 60 * 60) - time.time()
+    if disabled_s > 0:
+      Log('Disabled for the next %d seconds', disabled_s)
+      return True
+
+  return False
+
+
 def main():
+  if Disabled():
+    return
+
   o = options.Options(optspec)
   (_, _, extra) = o.parse(sys.argv[1:])
   if not extra:
diff --git a/fs/skeleton/bin/ipapply.test b/fs/skeleton/bin/ipapply.test
index c167122..87ea074 100755
--- a/fs/skeleton/bin/ipapply.test
+++ b/fs/skeleton/bin/ipapply.test
@@ -10,6 +10,7 @@
 STATIC_PATH=/config/ip/static
 DYNAMIC_PATH=/tmp/ip/dynamic
 TMP_CONMAN=/tmp/conman
+DISABLED_FILE=/tmp/ipapply_disabled
 
 runnable mktemp &&
 tmpdir=$(mktemp -d ipapplyXXXXXXXXXX) ||
@@ -56,6 +57,8 @@
   rm -rf $tmpdir/$STATIC_PATH
   rm -rf $tmpdir/$DYNAMIC_PATH
   rm -rf $tmpdir/$TMP_CONMAN
+  rm -f $tmpdir/$DISABLED_FILE
+
 
   mkdir -p $tmpdir/$STATIC_PATH
   mkdir -p $tmpdir/$DYNAMIC_PATH
@@ -82,7 +85,7 @@
 WVPASSEQ $? 0
 
 echo
-echo "TEST static config"
+echo "TEST static config and disable"
 export IIU_TEST_UP_INTERFACES="iface0"
 mkdir -p $tmpdir/$STATIC_PATH
 cat >$tmpdir/$STATIC_PATH/iface0 <<-EOF
@@ -93,6 +96,14 @@
 
 
 echo "1.1.1.0/24 dev br0  proto kernel  scope link  src 1.1.1.1" >"$tmpdir/ip_route_show"
+
+touch $tmpdir/$DISABLED_FILE
+output=$(ipapply iface0 2>&1 1>/dev/null)
+WVPASSEQ $? 0
+echo "${output}" | grep "Disabled for the next" >/dev/null
+WVPASSEQ $? 0
+
+rm $tmpdir/$DISABLED_FILE
 output=$(ipapply iface0 2>&1 1>/dev/null)
 WVPASSEQ $? 0
 echo "${output}" | grep "ip addr add 1.1.1.1/24 dev iface0" >/dev/null
