diff --git a/common/cmd_nvedit.c b/common/cmd_nvedit.c
index 9f8d5319596d2a171f55035683c1eca61af21d11..725e573ddf85ce8b6e09b836d9469d198407409a 100644
--- a/common/cmd_nvedit.c
+++ b/common/cmd_nvedit.c
@@ -400,7 +400,7 @@ int _do_setenv (int flag, int argc, char *argv[])
 int setenv (char *varname, char *varvalue)
 {
 	char *argv[4] = { "setenv", varname, varvalue, NULL };
-	if (varvalue == NULL)
+	if ((varvalue == NULL) || (varvalue[0] == '\0'))
 		return _do_setenv (0, 2, argv);
 	else
 		return _do_setenv (0, 3, argv);