diff --git a/testsuite/tests/deriving/should_compile/T8893.hs b/testsuite/tests/deriving/should_compile/T8893.hs
new file mode 100644
index 0000000000000000000000000000000000000000..2ebcc94624a67959b6c1acff88d52f609125e423
--- /dev/null
+++ b/testsuite/tests/deriving/should_compile/T8893.hs
@@ -0,0 +1,11 @@
+{-# OPTIONS_GHC -Wall #-}
+{-# Language DeriveFunctor #-}
+{-# Language PolyKinds #-}
+
+module T8893 where
+
+data V a = V [a] deriving Functor
+
+data C x a = C (V (P x a)) deriving Functor
+
+data P x a = P (x a) deriving Functor
diff --git a/testsuite/tests/deriving/should_compile/all.T b/testsuite/tests/deriving/should_compile/all.T
index 257a9b2157700bd7c620147861b4be330d3b9f76..b649ff6ba5f716567a3f542eaebbc4d7b003c451 100644
--- a/testsuite/tests/deriving/should_compile/all.T
+++ b/testsuite/tests/deriving/should_compile/all.T
@@ -45,3 +45,4 @@ test('T8138', reqlib('primitive'), compile, ['-O2'])
 test('T8631', normal, compile, [''])
 test('T8758', extra_clean(['T8758a.o', 'T8758a.hi']), multimod_compile, ['T8758a', '-v0'])
 test('T8865', normal, compile, [''])
+test('T8893', normal, compile, [''])