diff --git a/tests/cases/fourslash/completionListInTypeParameterOfTypeAlias1.ts b/tests/cases/fourslash/completionListInTypeParameterOfTypeAlias1.ts
new file mode 100644
index 00000000000..ec20cdb409f
--- /dev/null
+++ b/tests/cases/fourslash/completionListInTypeParameterOfTypeAlias1.ts
@@ -0,0 +1,18 @@
+///
+
+////type List1*0*/
+////type List2*1*/T> = T[];
+////type List4 = /*2*/T[];
+////type List3 = /*3*/;
+
+/*goTo.marker("0");
+verify.completionListIsEmpty();
+goTo.marker("1");
+verify.not.completionListIsEmpty();
+goTo.marker("2");
+verify.completionListContains("T");
+*/
+goTo.marker("3");
+verify.not.completionListIsEmpty();
+verify.not.completionListContains("T");
+verify.completionListContains("T1");
\ No newline at end of file
diff --git a/tests/cases/fourslash/completionListInTypeParameterOfTypeAlias2.ts b/tests/cases/fourslash/completionListInTypeParameterOfTypeAlias2.ts
new file mode 100644
index 00000000000..e804fb8946a
--- /dev/null
+++ b/tests/cases/fourslash/completionListInTypeParameterOfTypeAlias2.ts
@@ -0,0 +1,21 @@
+///
+
+////type Map1 = [];
+////type Map1 = /*2*/[];
+////type Map1 = *3*/
+
+goTo.marker("0");
+verify.completionListIsEmpty();
+goTo.marker("1");
+verify.completionListContains("V");
+goTo.marker("2");
+verify.not.completionListIsEmpty();
+verify.completionListContains("K");
+verify.completionListContains("V");
+goTo.marker("3");
+verify.not.completionListIsEmpty();
+verify.not.completionListContains("K");
+verify.not.completionListContains("V");
+verify.completionListContains("K1");
+verify.completionListContains("V1");
\ No newline at end of file