diff --git a/files/ddns-script/usr/lib/ddnsmngr/ddnsmngr_updater.sh b/files/ddns-script/usr/lib/ddnsmngr/ddnsmngr_updater.sh
index ab81abfeb1539132a4281d96d6179fc338854a60..bc32fc49361b7d228e600b538a9982641bb7f90a 100644
--- a/files/ddns-script/usr/lib/ddnsmngr/ddnsmngr_updater.sh
+++ b/files/ddns-script/usr/lib/ddnsmngr/ddnsmngr_updater.sh
@@ -404,6 +404,8 @@ while : ; do
 		else
 			write_log 3 "IP update not accepted by DDNS Provider"
 		fi
+	elif [ "$CURRENT_IP" = "$REGISTERED_IP" ]; then
+		write_log 6 "No update needed - L: '$CURRENT_IP' == R: '$REGISTERED_IP'"
 	fi
 
 	# now we wait for check interval before testing if update was recognized
diff --git a/files/ddns-script/usr/libexec/rpcd/ddnsmngr b/files/ddns-script/usr/libexec/rpcd/ddnsmngr
index 4cd383ebdadc3bf26a27a7d25da1d6db5d49209d..786e1c3fb23b171c36a9a9ad68d4cd73c12a847e 100644
--- a/files/ddns-script/usr/libexec/rpcd/ddnsmngr
+++ b/files/ddns-script/usr/libexec/rpcd/ddnsmngr
@@ -144,13 +144,13 @@ get_client_status() {
 			if [ -f "${log_file}" ]; then
 				state="Connecting"
 				while read -r line; do
-					if [[ "${line}" =~ "Update successful" ]]; then
+					if [[ "${line}" =~ "Update successful" ]] || [[ "${line}" =~ "No update needed" ]]; then
 						state="Updated"
 					elif [[ "${line}" =~ "ERROR" ]] && [[ "${line}" =~ "Please check your configuration" ]]; then
 						state="Error_Misconfigured"
 					elif [[ "${line}" =~ "Registered IP" ]]; then
 						state="Connecting"
-					elif [[ "${line}" =~ "failed" ]]; then
+					elif [[ "${line}" =~ "ERROR" ]] || [[ "${line}" =~ "failed" ]]; then
 						state="Error"
 					fi
 				done < "${log_file}"