diff --git a/src/freedombone-utils-webadmin b/src/freedombone-utils-webadmin
index 73e59f9bdad529f56543f306b7a2328540f4866c..e022190a4227f1bd7bace7cebdae9713f379dbe0 100755
--- a/src/freedombone-utils-webadmin
+++ b/src/freedombone-utils-webadmin
@@ -548,12 +548,17 @@ function web_admin_setup_login {
     webadmin_password="$(create_password "${MINIMUM_PASSWORD_LENGTH}")"
 
     # create a password for users
-    touch /etc/nginx/.webadminpasswd
+    if [ ! -f /etc/nginx/.webadminpasswd ]; then
+        touch /etc/nginx/.webadminpasswd
+    fi
 
     # create a password file used by nginx
     echo -n "$webadmin_password" | htpasswd -i -s -c /etc/nginx/.webadminpasswd "admin"
     if ! grep -q 'admin:' /etc/nginx/.webadminpasswd; then
         echo $'/etc/nginx/.webadminpasswd password not created for admin'
+        if [ -f /etc/nginx/.webadminpasswd ]; then
+            rm /etc/nginx/.webadminpasswd
+        fi
         exit 2428956
     fi