diff --git a/src/openvpnserv/interactive.c b/src/openvpnserv/interactive.c
index 6a83bac..81205d6 100644
--- a/src/openvpnserv/interactive.c
+++ b/src/openvpnserv/interactive.c
@@ -3014,7 +3014,7 @@
     LSTATUS err = OpenNrptBaseKey(&key, &gpol_nrpt);
     if (err)
     {
-        goto out;
+        return err;
     }
 
     /* Add undo information first in case there's no heap left */
@@ -3065,6 +3065,7 @@
     ApplyDnsSettings(gpol_nrpt || gpol_list);
 
 out:
+    RegCloseKey(key);
     return err;
 }
 
