diff --git a/clear_dhcp.sh b/clear_dhcp.sh
new file mode 100644
index 0000000000000000000000000000000000000000..0c9aa6c791e73ff36fc9a054ee5c148e72612d0a
--- /dev/null
+++ b/clear_dhcp.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+if [ -z "$2" ] || [ "$1" != 'Name' ] && [ "$1" != 'MAC' ]
+then
+    echo "Usage:"
+    echo "\t $0 MAC aa:bb:cc:dd:ee:ff"
+    echo "Or"
+    echo "\t $0 Name hostname"
+    exit 1
+fi
+
+lease_file="/var/lib/dhcp/dhcpd.leases"
+cp $lease_file $lease_file.$(date "+%Y%m%d-%H%M%S")
+
+if [ "$1" == 'MAC' ]
+then
+    MAC=$2
+    awk -v MAC="$MAC" 'BEGIN{IN=0;ACCU=""} /^lease/{print ACCU;ACCU="";IN=1;do_print=1} /hardware ethernet/{if($3==MAC";"){do_print=0}} {ACCU=ACCU"\n"$0} /^}$/{if(do_print==1){print ACCU};IN=0;do_print=0;ACCU=""}' $lease_file > /tmp/$$
+else
+    HOST="\"$2\""
+    awk -v HOST="$HOST" 'BEGIN{IN=0;ACCU=""} /^lease/{print ACCU;ACCU="";IN=1;do_print=1} /client-hostname/{if($2==HOST";"){do_print=0}} {ACCU=ACCU"\n"$0} /^}$/{if(do_print==1){print ACCU};IN=0;do_print=0;ACCU=""}' $lease_file > /tmp/$$
+fi
+sed '/^$/d' /tmp/$$ > $lease_file
+systemctl restart isc-dhcp-server
diff --git a/registry/scripts/upgrade_all.sh b/registry/scripts/upgrade_all.sh
index 7e2dd3796013b3e4032e7d9e9436bd18f7bdd11a..29d9975c53480daefe19050f5ea141008901ff11 100755
--- a/registry/scripts/upgrade_all.sh
+++ b/registry/scripts/upgrade_all.sh
@@ -150,7 +150,7 @@ do
     log "===== Begin host $name ($mac - $ip) ===="
     cat $f >> $mainlog
     log "===== End host $name ===="
-    if [ $(wc -l $f | awk '{print $1}') -gt 0 ]
+    if [ $(wc -l $f | awk '{print $1}') -lt 0 ]
     then
         DOWNS[$mac]=$name
     fi