diff --git a/testsuite/tests/profiling/should_run/Makefile b/testsuite/tests/profiling/should_run/Makefile
index 6e87e2f291a74fad89fc505e4ca0283b83f4e323..ad10845737729f964363f57a2999100d0be43cf3 100644
--- a/testsuite/tests/profiling/should_run/Makefile
+++ b/testsuite/tests/profiling/should_run/Makefile
@@ -39,3 +39,12 @@ T15897:
 	"$(TEST_HC)" -prof -fprof-auto -debug -v0 T15897.hs
 	./T15897 10000000 +RTS -s -hc 2>/dev/null
 	./T15897 10000000 +RTS -s -hr 2>/dev/null
+
+.PHONY: T21446
+T21446:
+	$(RM) T21446
+	$(RM) stem.hp 
+	"$(TEST_HC)" -prof -rtsopts -v0 T21446.hs
+	./T21446 +RTS -hc -postem
+	[ -f stem.hp ]
+
diff --git a/testsuite/tests/profiling/should_run/T21446.hs b/testsuite/tests/profiling/should_run/T21446.hs
new file mode 100644
index 0000000000000000000000000000000000000000..b3549c2fe3d794dddfdf687ed1163ff5302f20e8
--- /dev/null
+++ b/testsuite/tests/profiling/should_run/T21446.hs
@@ -0,0 +1 @@
+main = return ()
diff --git a/testsuite/tests/profiling/should_run/all.T b/testsuite/tests/profiling/should_run/all.T
index 22fa287750e38b9b76b587ca8213d785accac89c..1c49577e63e843ed9f38023217e0b92455268999 100644
--- a/testsuite/tests/profiling/should_run/all.T
+++ b/testsuite/tests/profiling/should_run/all.T
@@ -183,3 +183,5 @@ test('TraverseHeapTest', [only_ways(['prof'])], compile_and_run, ['-debug'])
 # Check if -fno-prof-manual results in the manual cost center being ignored.
 test('ignore_scc', [], compile_and_run,
      ['-fno-prof-manual'])
+
+test('T21446', [], makefile_test, ['T21446'])