diff --git a/testsuite/tests/typecheck/should_compile/T11506.hs b/testsuite/tests/typecheck/should_compile/T11506.hs
new file mode 100644
index 0000000000000000000000000000000000000000..a5db195e38197a14292d4d26bdf16c30560b8c0d
--- /dev/null
+++ b/testsuite/tests/typecheck/should_compile/T11506.hs
@@ -0,0 +1,13 @@
+{-# LANGUAGE PolyKinds, ExistentialQuantification, ScopedTypeVariables,
+             TypeFamilies, TypeInType #-}
+
+module T11506 where
+
+import Data.Proxy
+import Data.Kind
+
+type family ProxyType where ProxyType = (Proxy :: Type -> Type)
+
+data T = forall a. MkT (ProxyType a)
+
+foo (MkT (_ :: Proxy a)) = const True (undefined :: a)
diff --git a/testsuite/tests/typecheck/should_compile/all.T b/testsuite/tests/typecheck/should_compile/all.T
index c4028d6e25331dedd76f93ba06ee7ab7d506ed25..9e19ba6d9b94a612ecb63a1f056815a9f50ff6c5 100644
--- a/testsuite/tests/typecheck/should_compile/all.T
+++ b/testsuite/tests/typecheck/should_compile/all.T
@@ -497,6 +497,7 @@ test('RebindNegate', normal, compile, [''])
 test('T11319', normal, compile, [''])
 test('T11397', normal, compile, [''])
 test('T11458', normal, compile, [''])
+test('T11506', normal, compile, [''])
 test('T11524', normal, compile, [''])
 test('T11552', normal, compile, [''])
 test('T11246', normal, compile, [''])