diff --git a/gcc/testsuite/g++.dg/inherit/null1.C b/gcc/testsuite/g++.dg/inherit/null1.C
new file mode 100644
index 0000000000000000000000000000000000000000..0908a01b91ceec9db4e51a907ac96976fcd2d188
--- /dev/null
+++ b/gcc/testsuite/g++.dg/inherit/null1.C
@@ -0,0 +1,15 @@
+// PR c++/5453: Test that we don't assume that the pointer target of a
+// reference is non-null just because we know the reference isn't.
+
+// { dg-do run }
+
+struct V { };
+struct A: virtual public V { };
+
+A* ap;
+A*& apr (ap);
+
+int main ()
+{
+  V* vp = apr;
+}