diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts
index 3c25cb7..683b197 100644
--- a/arch/sandbox/dts/test.dts
+++ b/arch/sandbox/dts/test.dts
@@ -254,6 +254,18 @@
 			gpios = <&gpio_a 2 0>;
 			label = "sandbox:green";
 		};
+
+		default_on {
+			gpios = <&gpio_a 5 0>;
+			label = "sandbox:default_on";
+			default-state = "on";
+		};
+
+		default_off {
+			gpios = <&gpio_a 6 0>;
+			label = "sandbox:default_off";
+			default-state = "off";
+		};
 	};
 
 	mbox: mbox {
diff --git a/test/dm/led.c b/test/dm/led.c
index 89c0c95..0071f21 100644
--- a/test/dm/led.c
+++ b/test/dm/led.c
@@ -19,12 +19,30 @@
 	ut_assertok(uclass_get_device(UCLASS_LED, 0, &dev));
 	ut_assertok(uclass_get_device(UCLASS_LED, 1, &dev));
 	ut_assertok(uclass_get_device(UCLASS_LED, 2, &dev));
-	ut_asserteq(-ENODEV, uclass_get_device(UCLASS_LED, 3, &dev));
+	ut_assertok(uclass_get_device(UCLASS_LED, 3, &dev));
+	ut_assertok(uclass_get_device(UCLASS_LED, 4, &dev));
+	ut_asserteq(-ENODEV, uclass_get_device(UCLASS_LED, 5, &dev));
 
 	return 0;
 }
 DM_TEST(dm_test_led_base, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT);
 
+/* Test of the LED 'default-state' device tree property */
+static int dm_test_led_default_state(struct unit_test_state *uts)
+{
+	struct udevice *dev;
+
+	/* Check that we handle the default-state property correctly. */
+	ut_assertok(led_get_by_label("sandbox:default_on", &dev));
+	ut_asserteq(LEDST_ON, led_get_state(dev));
+
+	ut_assertok(led_get_by_label("sandbox:default_off", &dev));
+	ut_asserteq(LEDST_OFF, led_get_state(dev));
+
+	return 0;
+}
+DM_TEST(dm_test_led_default_state, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT);
+
 /* Test of the led uclass using the led_gpio driver */
 static int dm_test_led_gpio(struct unit_test_state *uts)
 {
