diff --git a/testsuite/tests/ghci/scripts/T25414.script b/testsuite/tests/ghci/scripts/T25414.script
new file mode 100644
index 0000000000000000000000000000000000000000..3824461d13160d471a723b0dd4c1ba50d1adab17
--- /dev/null
+++ b/testsuite/tests/ghci/scripts/T25414.script
@@ -0,0 +1,6 @@
+:set -XCApiFFI
+import Foreign
+import Foreign.C
+foreign import capi unsafe "stdlib.h malloc" c_malloc :: CSize -> IO (Ptr ())
+foreign import capi unsafe "stdlib.h free" c_free :: Ptr () -> IO ()
+c_free =<< c_malloc 16
diff --git a/testsuite/tests/ghci/scripts/all.T b/testsuite/tests/ghci/scripts/all.T
index 650472ce5c6bdf212dd4125cabb2112403e80ad6..57da4578faa02365aff8a2e802409e5e45677b83 100755
--- a/testsuite/tests/ghci/scripts/all.T
+++ b/testsuite/tests/ghci/scripts/all.T
@@ -360,6 +360,7 @@ test('T20455', normal, ghci_script, ['T20455.script'])
 test('shadow-bindings', normal, ghci_script, ['shadow-bindings.script'])
 test('T925', normal, ghci_script, ['T925.script'])
 test('T7388', normal, ghci_script, ['T7388.script'])
+test('T25414', [expect_broken(25414)], ghci_script, ['T25414.script'])
 test('T20627', normal, ghci_script, ['T20627.script'])
 test('T20473a', normal, ghci_script, ['T20473a.script'])
 test('T20473b', normal, ghci_script, ['T20473b.script'])