diff --git a/src/openvpn.c b/src/openvpn.c
-index d446e9957b68..cc33eed61e25 100644
+index d446e9957b68..ef5bf1078285 100644
--- a/src/openvpn.c
+++ b/src/openvpn.c
-@@ -567,7 +567,7 @@ static int openvpn_read (void)
+@@ -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;
}
} /* 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)
+ {