diff --git a/src/acpi/aml/type2opcode.rs b/src/acpi/aml/type2opcode.rs
index 35f3faf855bbe57c19e4a2f059987b6aab414059..e2880dde0ca58aa8de8c29cf40c29dda167c1fbb 100644
--- a/src/acpi/aml/type2opcode.rs
+++ b/src/acpi/aml/type2opcode.rs
@@ -296,15 +296,18 @@ fn parse_def_deref_of(data: &[u8],
         })
     }
     
-    // TODO: Perform computation
     parser_opcode!(data, 0x83);
 
     let obj = parse_term_arg(&data[1..], ctx)?;
-    
-    Ok(AmlParseType {
-        val: AmlValue::Uninitialized,
-        len: 1 + obj.len
-    })
+    let res = ctx.get(obj.val);
+
+    match res {
+        AmlValue::None => Err(AmlError::AmlValueError),
+        _ => Ok(AmlParseType {
+            val: res,
+            len: 1 + obj.len
+        })
+    }
 }
 
 fn parse_def_acquire(data: &[u8],