diff --git a/windows/src/test/unit-tests/kmcomp/test.bat b/windows/src/test/unit-tests/kmcomp/test.bat
index 80be2b6187..fdb496a759 100644
--- a/windows/src/test/unit-tests/kmcomp/test.bat
+++ b/windows/src/test/unit-tests/kmcomp/test.bat
@@ -45,6 +45,7 @@ call :should-pass "#2241: expansions" test_expansion_1.kmn || goto :eof
fc /b test_expansion.kmx test_expansion_1.kmx || goto :eof
call :should-fail "#2241: invalid expansions" test_expansion_invalid.kmn || goto :eof
+call :should-fail "#2241: expansion absurdly long" test_expansion_absurd.kmn || goto :eof
call :should-pass "#2241: &CasedKeys" test_casedkeys.kmn || goto :eof
call :should-pass "#2241: &CasedKeys (chars)" test_casedkeys_chars.kmn || goto :eof
diff --git a/windows/src/test/unit-tests/kmcomp/test_expansion.bmp b/windows/src/test/unit-tests/kmcomp/test_expansion.bmp
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/windows/src/test/unit-tests/kmcomp/test_expansion_absurd.kmn b/windows/src/test/unit-tests/kmcomp/test_expansion_absurd.kmn
new file mode 100644
index 0000000000..905093bc87
--- /dev/null
+++ b/windows/src/test/unit-tests/kmcomp/test_expansion_absurd.kmn
@@ -0,0 +1,7 @@
+c This file tests absurdly long expansions
+store(&NAME) 'Test Expansions'
+begin Unicode > use(main)
+
+group(main) using keys
+
+store(schar_range) U+0020 .. U+10FFFF
diff --git a/windows/src/test/unit-tests/kmcomp/tests.kpj b/windows/src/test/unit-tests/kmcomp/tests.kpj
index 8cfa81c9d4..53c02033f5 100644
--- a/windows/src/test/unit-tests/kmcomp/tests.kpj
+++ b/windows/src/test/unit-tests/kmcomp/tests.kpj
@@ -240,5 +240,15 @@
.doc
id_98467bd680620f99f9adeb5347541b6a
+
+ id_9d5ea0b72f9733e0e70e04d5b3c790af
+ test_expansion_absurd.kmn
+ test_expansion_absurd.kmn
+ 1.0
+ .kmn
+
+ Test Expansions
+
+