diff --git a/include/zephyr/device.h b/include/zephyr/device.h
index d8394ef..e0ba141 100644
--- a/include/zephyr/device.h
+++ b/include/zephyr/device.h
@@ -1156,18 +1156,14 @@
 	static const Z_DECL_ALIGN(struct init_entry) __used __noasan Z_INIT_ENTRY_SECTION(         \
 		level, prio, Z_DEVICE_INIT_SUB_PRIO(node_id))                                      \
 		Z_INIT_ENTRY_NAME(DEVICE_NAME_GET(dev_id)) = {                                     \
-			COND_CODE_1(Z_DEVICE_IS_MUTABLE(node_id),                                  \
-				    (.dev = { .dev_rw = &DEVICE_NAME_GET(dev_id)}),                \
-				    (.dev = { .dev = &DEVICE_NAME_GET(dev_id)}))                   \
+			.dev = (const struct device *)&DEVICE_NAME_GET(dev_id)                     \
 		}
 
 #define Z_DEFER_DEVICE_INIT_ENTRY_DEFINE(node_id, dev_id)                                          \
 	static const Z_DECL_ALIGN(struct init_entry) __used __noasan                               \
 		__attribute__((__section__(".z_deferred_init")))                                   \
 		Z_INIT_ENTRY_NAME(DEVICE_NAME_GET(dev_id)) = {                                     \
-			COND_CODE_1(Z_DEVICE_IS_MUTABLE(node_id),                                  \
-				    (.dev = { .dev_rw = &DEVICE_NAME_GET(dev_id)}),                \
-				    (.dev = { .dev = &DEVICE_NAME_GET(dev_id)}))                   \
+			.dev = (const struct device *)&DEVICE_NAME_GET(dev_id)                     \
 		}
 
 /**
diff --git a/include/zephyr/init.h b/include/zephyr/init.h
index d071445..8d476e1 100644
--- a/include/zephyr/init.h
+++ b/include/zephyr/init.h
@@ -73,12 +73,7 @@
 	 * If the init entry belongs to a device, this fields stores a
 	 * reference to it, otherwise it is set to NULL.
 	 */
-	union {
-		const struct device *dev;
-#ifdef CONFIG_DEVICE_MUTABLE
-		struct device *dev_rw;
-#endif
-	} dev;
+	const struct device *dev;
 };
 
 /** @cond INTERNAL_HIDDEN */
diff --git a/kernel/init.c b/kernel/init.c
index 6eeed75..2c3b13d 100644
--- a/kernel/init.c
+++ b/kernel/init.c
@@ -360,7 +360,7 @@
 	const struct init_entry *entry;
 
 	for (entry = levels[level]; entry < levels[level+1]; entry++) {
-		const struct device *dev = entry->dev.dev;
+		const struct device *dev = entry->dev;
 		int result;
 
 		sys_trace_sys_init_enter(entry, level);
@@ -381,7 +381,7 @@
 	}
 
 	STRUCT_SECTION_FOREACH_ALTERNATE(_deferred_init, init_entry, entry) {
-		if (entry->dev.dev == dev) {
+		if (entry->dev == dev) {
 			return do_device_init(dev);
 		}
 	}
diff --git a/tests/lib/devicetree/devices/src/main.c b/tests/lib/devicetree/devices/src/main.c
index d409170..6b4f700 100644
--- a/tests/lib/devicetree/devices/src/main.c
+++ b/tests/lib/devicetree/devices/src/main.c
@@ -64,25 +64,25 @@
 ZTEST(devicetree_devices, test_init_get)
 {
 	/* Check device pointers */
-	zassert_equal(DEVICE_INIT_DT_GET(TEST_GPIO)->dev.dev,
+	zassert_equal(DEVICE_INIT_DT_GET(TEST_GPIO)->dev,
 		      DEVICE_DT_GET(TEST_GPIO), NULL);
-	zassert_equal(DEVICE_INIT_DT_GET(TEST_I2C)->dev.dev,
+	zassert_equal(DEVICE_INIT_DT_GET(TEST_I2C)->dev,
 		      DEVICE_DT_GET(TEST_I2C), NULL);
-	zassert_equal(DEVICE_INIT_DT_GET(TEST_DEVA)->dev.dev,
+	zassert_equal(DEVICE_INIT_DT_GET(TEST_DEVA)->dev,
 		      DEVICE_DT_GET(TEST_DEVA), NULL);
-	zassert_equal(DEVICE_INIT_DT_GET(TEST_DEVB)->dev.dev,
+	zassert_equal(DEVICE_INIT_DT_GET(TEST_DEVB)->dev,
 		      DEVICE_DT_GET(TEST_DEVB), NULL);
-	zassert_equal(DEVICE_INIT_DT_GET(TEST_GPIOX)->dev.dev,
+	zassert_equal(DEVICE_INIT_DT_GET(TEST_GPIOX)->dev,
 		      DEVICE_DT_GET(TEST_GPIOX), NULL);
-	zassert_equal(DEVICE_INIT_DT_GET(TEST_DEVC)->dev.dev,
+	zassert_equal(DEVICE_INIT_DT_GET(TEST_DEVC)->dev,
 		      DEVICE_DT_GET(TEST_DEVC), NULL);
-	zassert_equal(DEVICE_INIT_DT_GET(TEST_PARTITION)->dev.dev,
+	zassert_equal(DEVICE_INIT_DT_GET(TEST_PARTITION)->dev,
 		      DEVICE_DT_GET(TEST_PARTITION), NULL);
-	zassert_equal(DEVICE_INIT_DT_GET(TEST_GPIO_INJECTED)->dev.dev,
+	zassert_equal(DEVICE_INIT_DT_GET(TEST_GPIO_INJECTED)->dev,
 		      DEVICE_DT_GET(TEST_GPIO_INJECTED), NULL);
-	zassert_equal(DEVICE_INIT_GET(manual_dev)->dev.dev,
+	zassert_equal(DEVICE_INIT_GET(manual_dev)->dev,
 		      DEVICE_GET(manual_dev), NULL);
-	zassert_equal(DEVICE_INIT_DT_GET(TEST_NOLABEL)->dev.dev,
+	zassert_equal(DEVICE_INIT_DT_GET(TEST_NOLABEL)->dev,
 		      DEVICE_DT_GET(TEST_NOLABEL), NULL);
 
 	/* Check init functions */
