diff --git a/src/openvpn/console_systemd.c b/src/openvpn/console_systemd.c
index 9588b95..eaed24e 100644
--- a/src/openvpn/console_systemd.c
+++ b/src/openvpn/console_systemd.c
@@ -69,7 +69,9 @@
     argv_printf_cat(&argv, "--timeout=0");
     argv_printf_cat(&argv, "%s", prompt);
 
-    if ((std_out = openvpn_popen(&argv, NULL)) < 0)
+    std_out = openvpn_popen(&argv, NULL);
+    argv_free(&argv);
+    if (std_out < 0)
     {
         return false;
     }
@@ -81,8 +83,6 @@
     }
     close(std_out);
 
-    argv_free(&argv);
-
     return ret;
 }
 
