diff --git a/net/ntpd/files/ntpd.hotplug b/net/ntpd/files/ntpd.hotplug
index 5d5dce8f3557b96e285597adb7350bd4baa120db..6b22fa13a84a73dea3c803e62d254bd845daf3af 100644
--- a/net/ntpd/files/ntpd.hotplug
+++ b/net/ntpd/files/ntpd.hotplug
@@ -1,29 +1,35 @@
 #!/bin/sh
 
-NAME=ntpd
+NAME=ntp
 COMMAND=/etc/init.d/$NAME
 
 . /usr/share/libubox/jshn.sh
 
 configure_ntp_servers()
 {
-	local ntp_interface="$(uci -q get system.ntp.interface)"
+	local ntp_interface="$(uci -q get ntp.dhcp_driven.client_interface)"
 
-	for ntpif in $ntp_interface; do
-		# Only change the ntp servers if interface matches with the defined interface
-		if [ "${ntpif}" == "${1}" ] ; then
-			json_load "$(ifstatus $ntpif)"
-			json_select data
-			json_get_var servers ntpserver ""
+	# Only change the ntp servers if interface matches with the defined interface
+	if [ "${ntp_interface}" == "${1}" ]; then
+		json_load "$(ifstatus $ntp_interface)"
+		json_select data
+		json_get_var servers ntpserver ""
 
-			[ -n "$servers" ] && uci -q delete system.ntp.server
-			for server in ${servers}; do
-				uci -q add_list system.ntp.server="${server}"
-			done
-			uci commit system
-			break
+		dhcp_ntp_server=""
+		for server in ${servers}; do
+			if [ -z "${dhcp_ntp_server}" ]; then
+				dhcp_ntp_server="${server}"
+			else
+				dhcp_ntp_server="${dhcp_ntp_server},${server}"
+			fi
+		done
+
+		exist_dhcp_ntp_server="$(uci -q get ntp.dhcp_driven.server)"
+		if [ "${dhcp_ntp_server}" != "${exist_dhcp_ntp_server}" ]; then
+			uci -q set ntp.dhcp_driven.server="${dhcp_ntp_server}"
+			uci commit ntp
 		fi
-	done
+	fi
 }
 
 [ "$ACTION" = "ifup" -a "$(uci -q get network.$INTERFACE.is_lan)" != "1" ] && {