diff --git a/src/functions/functions.zone b/src/functions/functions.zone
index f724f50..2d3d2c7 100644
--- a/src/functions/functions.zone
+++ b/src/functions/functions.zone
@@ -527,7 +527,8 @@ zone_config() {
 			zone_config_list "${zone}" "$@"
 			;;
 		*)
-			# usually ${1} is a valid hid
+			# usually ${cmd} is valid hid
+			# We get ${hid} ${cmd} $@ from the cli
 			local hid=${cmd}
 			local cmd=${1}
 			shift 1
@@ -538,11 +539,11 @@ zone_config() {
 			if isset id && [[ ${cmd} == "edit" ]]; then
 				 zone_config_edit "${zone}" "${id}" "$@"
 
-			# If we didn't get a valid hid we check if we got a valid id
+			# If we didn't get a valid hid we check if we got a valid id (saved in ${hid})
 			else
-				if zone_config_id_is_valid ${zone} ${id} && [[ ${cmd} == "edit" ]]; then
+				if zone_config_id_is_valid ${zone} ${hid} && [[ ${cmd} == "edit" ]]; then
 					shift 1
-					zone_config_edit "${zone}" "${id}" "$@"
+					zone_config_edit "${zone}" "${hid}" "$@"
 				else
 					# in ${hid} is saved the command after network zone ${zone} config
 					error "Unrecognized argument: ${hid}"
@@ -1171,6 +1172,8 @@ zone_config_id_is_valid() {
 	local zone=${1}
 	local id=${2}
 
+	log DEBUG "Checking if id: ${id} is valid for zone: ${zone}"
+
 	local zone_path="${NETWORK_ZONES_DIR}/${zone}"
 
 	[ -f ${zone_path}/configs/*.${id} ];
