diff --git a/functions-common b/functions-common
index f1aca29b30..21c74c6cf7 100644
--- a/functions-common
+++ b/functions-common
@@ -62,6 +62,9 @@ function trueorfalse {
     $xtrace
 }
 
+function isset {
+    [[ -v "$1" ]]
+}
 
 # Control Functions
 # =================
diff --git a/inc/ini-config b/inc/ini-config
index 0d6d169f8b..26401f3917 100644
--- a/inc/ini-config
+++ b/inc/ini-config
@@ -205,16 +205,6 @@ function iniuncomment {
     $xtrace
 }
 
-function isset {
-    nounset=$(set +o | grep nounset)
-    set +o nounset
-    [[ -n "${!1+x}" ]]
-    result=$?
-    $nounset
-    return $result
-}
-
-
 # Restore xtrace
 $INC_CONF_TRACE
 
diff --git a/tests/functions.sh b/tests/functions.sh
index 874d02230d..126080f1e3 100755
--- a/tests/functions.sh
+++ b/tests/functions.sh
@@ -196,3 +196,20 @@ if is_ubuntu; then
         echo "is_package_installed() on deleted package failed"
     fi
 fi
+
+# test isset function
+echo  "Testing isset()"
+you_should_not_have_this_variable=42
+
+if isset "you_should_not_have_this_variable"; then
+    echo "OK"
+else
+    echo "\"you_should_not_have_this_variable\" not declared. failed"
+fi
+
+unset you_should_not_have_this_variable
+if isset "you_should_not_have_this_variable"; then
+    echo "\"you_should_not_have_this_variable\" looks like declared variable. failed"
+else
+    echo "OK"
+fi