diff --git a/target/linux/ar7/base-files/etc/diag.sh b/target/linux/ar7/base-files/etc/diag.sh
index f6548e8d504b2718ea6f68eea52d25d8da507569..f9aa8094058bb50b090f2d4a43b4a638d6b52613 100644
--- a/target/linux/ar7/base-files/etc/diag.sh
+++ b/target/linux/ar7/base-files/etc/diag.sh
@@ -1,17 +1,6 @@
 #!/bin/sh
 # Copyright (C) 2007-2013 OpenWrt.org
 
-# This setup gives us 4.5 distinguishable states:
-#
-# (1-LED) Solid OFF:    Bootloader running, or kernel hung (timer task stalled)
-# (1-LED) Solid ON:     Kernel hung (timer task stalled)
-# (2-LED) Solid RED:    Bootloader running, or kernel hung (timer task stalled)
-# (2-LED) Solid YELLOW: Kernel hung (timer task stalled)
-# 5Hz blink:            preinit
-# 10Hz blink:           failsafe
-# (1-LED) Heartbeat:    normal operation
-# (2-LED) Solid GREEN:  normal operation
-
 . /lib/functions/leds.sh
 
 get_status_led() {
@@ -24,20 +13,18 @@ set_state() {
 
 	case "$1" in
 	preinit)
-		status_led_set_timer 100 100
+		status_led_blink_preinit
 		;;
 	failsafe)
-		status_led_set_timer 50 50
+		status_led_blink_failsafe
 		;;
 	preinit_regular)
 		status_led_blink_preinit_regular
 		;;
 	done)
-		[ "$status_led" = "status" ] && {
-			status_led_set_heartbeat
-		}
+		status_led_on
+
 		[ "$status_led" = "power:green" ] && {
-			status_led_set_on
 			led_off "power:red"
 		}
 		;;