diff --git a/package/network/services/lldpd/files/lldpd.init b/package/network/services/lldpd/files/lldpd.init
index 8fe0a47cdc02cc4a7b1ddb123fe165bd3bd57cbc..4e9efcae0de0e445baf6f43966f90675484d3ea7 100644
--- a/package/network/services/lldpd/files/lldpd.init
+++ b/package/network/services/lldpd/files/lldpd.init
@@ -99,6 +99,7 @@ service_running() {
 reload_service() {
 	running || return 1
 	$LLDPCLI -u $LLDPSOCKET &> /dev/null <<-EOF
+		pause
 		unconfigure lldp custom-tlv
 		unconfigure system interface pattern
 		unconfigure system description
@@ -108,7 +109,10 @@ reload_service() {
 	write_lldpd_conf
 	$LLDPCLI -u $LLDPSOCKET -c $LLDPD_CONF -c $LLDPD_CONFS_DIR &> /dev/null
 	# Broadcast update over the wire
-	$LLDPCLI -u $LLDPSOCKET update &> /dev/null
+	$LLDPCLI -u $LLDPSOCKET &> /dev/null <<-EOF
+		resume
+		update
+	EOF
 	return 0
 }