diff --git a/Android.bp b/Android.bp
index 6e7c3c8..f50007f 100644
--- a/Android.bp
+++ b/Android.bp
@@ -87,7 +87,7 @@
 genrule_defaults {
     name: "dts_to_dtb",
     tools: ["dtc"],
-    cmd: "FILES=($(in)) && $(location dtc) -I dts -O dtb $${FILES[-1]} -o $(out)",
+    cmd: "FILES=($(in)) && $(location dtc) -@ -I dts -O dtb $${FILES[-1]} -o $(out)",
 }
 
 // This is a temporary workaround until b/309090563 is implemented.
diff --git a/docs/device_assignment.md b/docs/device_assignment.md
index 4c5b477..1166cdf 100644
--- a/docs/device_assignment.md
+++ b/docs/device_assignment.md
@@ -165,10 +165,10 @@
 ```
 
 If you compile the above with `dtc -@`, then you'll get `__symbols__` for free.
-The generated `__symbols__` indicates that there are four assignable devices.
+`__symbol__` has label of nodes, and it's required for the next step.
 
 ```dts
-    // generated __symbols__. AVF will ignore non-overlayable nodes.
+    // generated __symbols__
     __symbols__ {
         iommu0 = "/host/iommu0";
         iommu1 = "/host/iommu1";
@@ -200,10 +200,10 @@
 
 * `<kind>`: Device kind. Currently only used for debugging purposes and not used
   for device assignment.
-* `<dtbo_label>`: Label in the VM DTBO (i.e. symbols in `__symbols__`). Must be
-  unique.
+* `<dtbo_label>`: Label in the VM DTBO (i.e. symbol in `__symbols__`). Must be
+  non-empty and unique in the XML.
 * `<sysfs_path>`: Sysfs path of the device in host, used to bind to the VFIO
-  driver. Must be unique in the XML.
+  driver. Must be non-empty and unique in the XML.
 
 ## Boot with VM DTBO
 
diff --git a/pvmfw/src/device_assignment.rs b/pvmfw/src/device_assignment.rs
index 2c47f9e..9c3e566 100644
--- a/pvmfw/src/device_assignment.rs
+++ b/pvmfw/src/device_assignment.rs
@@ -167,9 +167,7 @@
     //           rng { ... };      // Actual device node is here. If overlaid, path would be "/rng"
     //         };
     //       };
-    //       __symbols__ {         // List of assignable devices
-    //         // Each property describes an assigned device device information.
-    //         // property name is the device label, and property value is the path in the VM DTBO.
+    //       __symbols__ {         // Contains list of assignable devices
     //         rng = "/fragment@rng/__overlay__/rng";
     //       };
     //    };
@@ -581,10 +579,13 @@
 
         let Some(node) = fdt.node(&node_path)? else { return Ok(None) };
 
-        // Note: Currently can only assign devices backed by physical devices.
+        // Currently can only assign devices backed by physical devices.
         let phandle = dtbo_node.get_phandle()?.ok_or(DeviceAssignmentError::InvalidDtbo)?;
-        let physical_device =
-            physical_devices.get(&phandle).ok_or(DeviceAssignmentError::InvalidDtbo)?;
+        let Some(physical_device) = physical_devices.get(&phandle) else {
+            // If labeled DT node isn't backed by physical device node, then just return None.
+            // It's not an error because such node can be a dependency of assignable device nodes.
+            return Ok(None);
+        };
 
         let reg = parse_node_reg(&node)?;
         Self::validate_reg(&reg, &physical_device.reg, hypervisor)?;
@@ -705,7 +706,6 @@
 
         // Clean up any nodes that wouldn't be overlaid but may contain reference to filtered nodes.
         // Otherwise, `fdt_apply_overlay()` would fail because of missing phandle reference.
-        filtered_dtbo_paths.push(CString::new("/__symbols__").unwrap());
         // TODO(b/277993056): Also filter other unused nodes/props in __local_fixups__
         filtered_dtbo_paths.push(CString::new("/__local_fixups__/host").unwrap());
 
@@ -718,7 +718,6 @@
     /// Filters VM DTBO to only contain necessary information for booting pVM
     /// In detail, this will remove followings by setting nop node / nop property.
     ///   - Removes unassigned devices
-    ///   - Removes /__symbols__ node
     // TODO(b/277993056): remove unused dependencies in VM DTBO.
     // TODO(b/277993056): remove supernodes' properties.
     // TODO(b/277993056): remove unused alises.
@@ -731,7 +730,7 @@
             node.nop()?;
         }
 
-        Ok(())
+        filter_dangling_symbols(vm_dtbo)
     }
 
     fn patch_pviommus(&self, fdt: &mut Fdt) -> Result<BTreeMap<PvIommu, Phandle>> {
@@ -923,7 +922,7 @@
 
         let expected = [AssignedDeviceInfo {
             node_path: CString::new("/bus0/backlight").unwrap(),
-            dtbo_node_path: cstr!("/fragment@backlight/__overlay__/bus0/backlight").into(),
+            dtbo_node_path: cstr!("/fragment@0/__overlay__/bus0/backlight").into(),
             reg: vec![[0x9, 0xFF].into()],
             interrupts: into_fdt_prop(vec![0x0, 0xF, 0x4]),
             iommus: vec![],
@@ -947,7 +946,7 @@
 
         let expected = [AssignedDeviceInfo {
             node_path: CString::new("/rng").unwrap(),
-            dtbo_node_path: cstr!("/fragment@rng/__overlay__/rng").into(),
+            dtbo_node_path: cstr!("/fragment@0/__overlay__/rng").into(),
             reg: vec![[0x9, 0xFF].into()],
             interrupts: into_fdt_prop(vec![0x0, 0xF, 0x4]),
             iommus: vec![(PvIommu { id: 0x4 }, Vsid(0xFF0))],
@@ -972,21 +971,27 @@
 
         let vm_dtbo = vm_dtbo.as_mut();
 
-        let rng = vm_dtbo.node(cstr!("/fragment@rng/__overlay__/rng")).unwrap();
+        let symbols = vm_dtbo.symbols().unwrap().unwrap();
+
+        let rng = vm_dtbo.node(cstr!("/fragment@0/__overlay__/rng")).unwrap();
         assert_ne!(rng, None);
+        let rng_symbol = symbols.getprop_str(cstr!("rng")).unwrap();
+        assert_eq!(Some(cstr!("/fragment@0/__overlay__/rng")), rng_symbol);
 
-        let light = vm_dtbo.node(cstr!("/fragment@rng/__overlay__/light")).unwrap();
+        let light = vm_dtbo.node(cstr!("/fragment@0/__overlay__/light")).unwrap();
         assert_eq!(light, None);
+        let light_symbol = symbols.getprop_str(cstr!("light")).unwrap();
+        assert_eq!(None, light_symbol);
 
-        let led = vm_dtbo.node(cstr!("/fragment@led/__overlay__/led")).unwrap();
+        let led = vm_dtbo.node(cstr!("/fragment@0/__overlay__/led")).unwrap();
         assert_eq!(led, None);
+        let led_symbol = symbols.getprop_str(cstr!("led")).unwrap();
+        assert_eq!(None, led_symbol);
 
-        let backlight =
-            vm_dtbo.node(cstr!("/fragment@backlight/__overlay__/bus0/backlight")).unwrap();
+        let backlight = vm_dtbo.node(cstr!("/fragment@0/__overlay__/bus0/backlight")).unwrap();
         assert_eq!(backlight, None);
-
-        let symbols_node = vm_dtbo.symbols().unwrap();
-        assert_eq!(symbols_node, None);
+        let backlight_symbol = symbols.getprop_str(cstr!("backlight")).unwrap();
+        assert_eq!(None, backlight_symbol);
     }
 
     #[test]
diff --git a/pvmfw/testdata/test_pvmfw_devices_vm_dtbo.dts b/pvmfw/testdata/test_pvmfw_devices_vm_dtbo.dts
index 23bc3c0..daf8158 100644
--- a/pvmfw/testdata/test_pvmfw_devices_vm_dtbo.dts
+++ b/pvmfw/testdata/test_pvmfw_devices_vm_dtbo.dts
@@ -1,4 +1,5 @@
 /dts-v1/;
+/plugin/;
 
 / {
     host {
@@ -6,113 +7,62 @@
         #size-cells = <0x1>;
         rng {
             reg = <0x0 0x12f00000 0xFF>;
-            iommus = <0x1 0x3>;
-            android,pvmfw,target = <0x2>;
+            iommus = <&iommu0 0x3>;
+            android,pvmfw,target = <&rng>;
         };
         light {
             reg = <0x0 0x00f00000 0x1000>, <0x0 0x00f10000 0x1000>;
-            iommus = <0x3 0x4>, <0x4 0x5>;
-            android,pvmfw,target = <0x5>;
+            iommus = <&iommu1 0x4>, <&iommu2 0x5>;
+            android,pvmfw,target = <&light>;
         };
         led {
             reg = <0x0 0x12000000 0x9>;
-            iommus = <0x1 0x9>;
-            android,pvmfw,target = <0x6>;
+            iommus = <&iommu0 0x9>;
+            android,pvmfw,target = <&led>;
         };
         bus0 {
             #address-cells = <0x1>;
             #size-cells = <0x1>;
             backlight {
                 reg = <0x300 0xFF>;
-                android,pvmfw,target = <0x7>;
+                android,pvmfw,target = <&backlight>;
             };
         };
-        iommu0 {
+        iommu0: iommu0 {
             #iommu-cells = <0x1>;
             android,pvmfw,token = <0x0 0x12e40000>;
-            phandle = <0x1>;
         };
-        iommu1 {
+        iommu1: iommu1 {
             #iommu-cells = <0x1>;
             android,pvmfw,token = <0x0 0x40000>;
-            phandle = <0x3>;
         };
-        iommu2 {
+        iommu2: iommu2 {
             #iommu-cells = <0x1>;
             android,pvmfw,token = <0x0 0x50000>;
-            phandle = <0x4>;
-        };
-    };
-    fragment@rng {
-        target-path = "/";
-        __overlay__ {
-            rng {
-                compatible = "android,rng";
-                android,rng,ignore-gctrl-reset;
-                phandle = <0x2>;
-            };
-        };
-    };
-    fragment@sensor {
-        target-path = "/";
-        __overlay__ {
-            light {
-                compatible = "android,light";
-                version = <0x1 0x2>;
-                phandle = <0x5>;
-            };
-        };
-    };
-    fragment@led {
-        target-path = "/";
-        __overlay__ {
-            led {
-                compatible = "android,led";
-                prop = <0x555>;
-                phandle = <0x6>;
-            };
-        };
-    };
-    fragment@backlight {
-        target-path = "/";
-        __overlay__ {
-            bus0 {
-                backlight {
-                    compatible = "android,backlight";
-                    android,backlight,ignore-gctrl-reset;
-                    phandle = <0x7>;
-                };
-            };
-        };
-    };
-    __symbols__ {
-        iommu0 = "/host/iommu0";
-        iommu1 = "/host/iommu1";
-        iommu2 = "/host/iommu2";
-        rng = "/fragment@rng/__overlay__/rng";
-        light = "/fragment@sensor/__overlay__/light";
-        led = "/fragment@led/__overlay__/led";
-        backlight = "/fragment@backlight/__overlay__/bus0/backlight";
-    };
-    __local_fixups__ {
-        host {
-            rng {
-                iommus = <0x0>;
-                android,pvmfw,target = <0x0>;
-            };
-            light {
-                iommus = <0x0 0x8>;
-                android,pvmfw,target = <0x0>;
-            };
-            led {
-                iommus = <0x0>;
-                android,pvmfw,target = <0x0>;
-            };
-            bus0 {
-                backlight {
-                    android,pvmfw,target = <0x0>;
-                };
-            };
         };
     };
 };
+
+&{/} {
+    rng: rng {
+        compatible = "android,rng";
+        android,rng,ignore-gctrl-reset;
+    };
+
+    light: light {
+        compatible = "android,light";
+        version = <0x1 0x2>;
+    };
+
+    led: led {
+        compatible = "android,led";
+        prop = <0x555>;
+    };
+
+    bus0 {
+        backlight: backlight {
+            compatible = "android,backlight";
+            android,backlight,ignore-gctrl-reset;
+        };
+    };
+};
\ No newline at end of file
diff --git a/pvmfw/testdata/test_pvmfw_devices_vm_dtbo_with_duplicated_iommus.dts b/pvmfw/testdata/test_pvmfw_devices_vm_dtbo_with_duplicated_iommus.dts
index 45b26e0..fb68320 100644
--- a/pvmfw/testdata/test_pvmfw_devices_vm_dtbo_with_duplicated_iommus.dts
+++ b/pvmfw/testdata/test_pvmfw_devices_vm_dtbo_with_duplicated_iommus.dts
@@ -1,4 +1,5 @@
 /dts-v1/;
+/plugin/;
 
 / {
     host {
@@ -6,55 +7,29 @@
         #size-cells = <0x1>;
         rng {
             reg = <0x0 0x12f00000 0xFF>;
-            iommus = <0x1 0x3>;
-            android,pvmfw,target = <0x2>;
+            iommus = <&iommu0 0x3>;
+            android,pvmfw,target = <&rng>;
         };
         led {
             reg = <0x0 0x12000000 0x9>;
-            iommus = <0x1 0x3>;
-            android,pvmfw,target = <0x6>;
+            iommus = <&iommu0 0x3>;
+            android,pvmfw,target = <&led>;
         };
-        iommu0 {
+        iommu0: iommu0 {
             #iommu-cells = <0x1>;
             android,pvmfw,token = <0x0 0x12e40000>;
-            phandle = <0x1>;
         };
     };
-    fragment@rng {
-        target-path = "/";
-        __overlay__ {
-            rng {
-                compatible = "android,rng";
-                android,rng,ignore-gctrl-reset;
-                phandle = <0x2>;
-            };
-        };
+};
+
+&{/} {
+    rng: rng {
+        compatible = "android,rng";
+        android,rng,ignore-gctrl-reset;
     };
-    fragment@led {
-        target-path = "/";
-        __overlay__ {
-            led {
-                compatible = "android,led";
-                prop = <0x555>;
-                phandle = <0x6>;
-            };
-        };
-    };
-    __symbols__ {
-        iommu0 = "/host/iommu0";
-        rng = "/fragment@rng/__overlay__/rng";
-        led = "/fragment@led/__overlay__/led";
-    };
-    __local_fixups__ {
-        host {
-            rng {
-                iommus = <0x0>;
-                android,pvmfw,target = <0x0>;
-            };
-            led {
-                iommus = <0x0>;
-                android,pvmfw,target = <0x0>;
-            };
-        };
+
+    led: led {
+        compatible = "android,led";
+        prop = <0x555>;
     };
 };
