diff --git a/src/openvpn.c b/src/openvpn.c
index d446e9957b68..ef5bf1078285 100644
--- a/src/openvpn.c
+++ b/src/openvpn.c
@@ -70,6 +70,7 @@ static const char *config_keys[] =
 };
 static int config_keys_num = STATIC_ARRAY_SIZE (config_keys);
 
+static int version_detect (const char *filename);
 
 /* Helper function
  * copy-n-pasted from common.c - changed delim to ","  */
@@ -540,6 +541,11 @@ static int openvpn_read (void)
 			continue;
 		}
 
+		// If the version was not detected yet, we try to guess again
+		if (vpn_list[i]->version == 0) {
+			vpn_list[i]->version = version_detect(vpn_list[i]->file);
+		}
+
 		switch (vpn_list[i]->version)
 		{
 			case SINGLE:
@@ -567,7 +573,7 @@ static int openvpn_read (void)
 		read += vpn_read;
 	}
 
-	return (read ? 0 : -1);
+	return 0;
 } /* int openvpn_read */
 
 static int version_detect (const char *filename)
@@ -630,16 +636,6 @@ static int version_detect (const char *filename)
 		}
 	}
 
-	if (version == 0)
-	{
-		/* This is only reached during configuration, so complaining to
-		 * the user is in order. */
-		NOTICE ("openvpn plugin: %s: Unknown file format, please "
-				"report this as bug. Make sure to include "
-				"your status file, so the plugin can "
-				"be adapted.", filename);
-	}
-
 	fclose (fh);
 
 	return version;
@@ -656,13 +652,6 @@ static int openvpn_config (const char *key, const char *value)
 		/* try to detect the status file format */
 		status_version = version_detect (value);
 
-		if (status_version == 0)
-		{
-			WARNING ("openvpn plugin: unable to detect status version, \
-					discarding status file \"%s\".", value);
-			return (1);
-		}
-
 		status_file = sstrdup (value);
 		if (status_file == NULL)
 		{
