diff --git a/src/config/chain.c b/src/config/chain.c
index 6ac8d2d045490b0d697b714df3c3951067a3a490..029c2555fb49a8ed5373a1378d8d70ca0fa4f66a 100644
--- a/src/config/chain.c
+++ b/src/config/chain.c
@@ -320,7 +320,7 @@ void __config_ChainParse( vlc_object_t *p_this, const char *psz_prefix,
                  msg_Warn( p_this, "Option %s is obsolete. Use %s instead.",
                            name, psz_name );
             }
-            if( p_conf->b_safe )
+            if( !p_conf->b_safe )
             {
                 int policy = config_GetInt( p_this, "security-policy" );
                 switch( policy )
diff --git a/src/misc/variables.c b/src/misc/variables.c
index 5f83f848f368f10e831a0f31359f8af642d15875..fd15a8ecf7cbcf752929681d6be018eec1daaef8 100644
--- a/src/misc/variables.c
+++ b/src/misc/variables.c
@@ -1099,7 +1099,7 @@ void __var_OptionParse( vlc_object_t *p_obj, const char *psz_option )
     /* check if option is unsafe */
     {
         module_config_t *p_config = config_FindConfig( p_obj, psz_name );
-        if( p_config->b_safe )
+        if( !p_config->b_safe )
         {
             int policy = config_GetInt( p_obj, "security-policy" );
             switch( policy )