diff --git a/tests/compile-fail/dangling_pointers/dangling_pointer_addr_of.rs b/tests/compile-fail/dangling_pointers/dangling_pointer_addr_of.rs
new file mode 100644
index 00000000000..5df5b324f45
--- /dev/null
+++ b/tests/compile-fail/dangling_pointers/dangling_pointer_addr_of.rs
@@ -0,0 +1,13 @@
+// Make sure we find these even with many checks disabled.
+// compile-flags: -Zmiri-disable-alignment-check -Zmiri-disable-stacked-borrows -Zmiri-disable-validation
+#![feature(raw_ref_macros)]
+use std::ptr;
+
+fn main() {
+    let p = {
+        let b = Box::new(42);
+        &*b as *const i32
+    };
+    let x = unsafe { ptr::raw_const!(*p) }; //~ ERROR dereferenced after this allocation got freed
+    panic!("this should never print: {:?}", x);
+}