diff --git a/lib/Vyatta/OpenVPN/Config.pm b/lib/Vyatta/OpenVPN/Config.pm
index b2537fe..f8da4fb 100644
--- a/lib/Vyatta/OpenVPN/Config.pm
+++ b/lib/Vyatta/OpenVPN/Config.pm
@@ -747,13 +747,18 @@ sub get_command {
         if( !($client && $password_auth_def) ) {
             return (undef, 'Must specify "tls cert-file"')
                 if (!defined($self->{_tls_cert}));
+            return (undef, 'Must specify "tls key-file"')
+                if (!defined($self->{_tls_key}));
+        }
+
+        if (defined($self->{_tls_cert})) {
             $hdrs = checkHeader("-----BEGIN CERTIFICATE-----", $self->{_tls_cert});
             return (undef, "Specified cert-file \"$self->{_tls_cert}\" is not valid")
                 if ($hdrs != 0);
             $cmd .= " --cert $self->{_tls_cert}";
+        }
 
-            return (undef, 'Must specify "tls key-file"')
-                if (!defined($self->{_tls_key}));
+        if (defined($self->{_tls_key})) {
             $hdrs = checkHeader("-----BEGIN (?:RSA )?PRIVATE KEY-----", $self->{_tls_key});
             return (undef, "Specified key-file \"$self->{_tls_key}\" is not valid")
                 if ($hdrs != 0);
