diff --git a/tests/cases/fourslash/completionListInNamedClassExpression.ts b/tests/cases/fourslash/completionListInNamedClassExpression.ts
new file mode 100644
index 00000000000..cf0d170f6a5
--- /dev/null
+++ b/tests/cases/fourslash/completionListInNamedClassExpression.ts
@@ -0,0 +1,14 @@
+///
+
+//// var x = class myClass {
+//// getClassName (){
+//// m/*0*/
+//// }
+//// /*1*/
+//// }
+
+goTo.marker("0");
+verify.completionListContains("myClass", "(local class) myClass", /*documentation*/ undefined, "local class");
+
+goTo.marker("1");
+verify.completionListContains("myClass", "(local class) myClass", /*documentation*/ undefined, "local class");
\ No newline at end of file
diff --git a/tests/cases/fourslash/completionListInNamedClassExpressionWithShadowing.ts b/tests/cases/fourslash/completionListInNamedClassExpressionWithShadowing.ts
new file mode 100644
index 00000000000..b1f7f1ca3f0
--- /dev/null
+++ b/tests/cases/fourslash/completionListInNamedClassExpressionWithShadowing.ts
@@ -0,0 +1,34 @@
+///
+
+//// class myClass { /*0*/ }
+//// /*1*/
+//// var x = class myClass {
+//// getClassName (){
+//// m/*2*/
+//// }
+//// /*3*/
+//// }
+//// var y = class {
+//// getSomeName() {
+//// /*4*/
+//// }
+//// /*5*/
+//// }
+
+goTo.marker("0");
+verify.completionListContains("myClass", "class myClass", /*documentation*/ undefined, "class");
+
+goTo.marker("1");
+verify.completionListContains("myClass", "class myClass", /*documentation*/ undefined, "class");
+
+goTo.marker("2");
+verify.completionListContains("myClass", "(local class) myClass", /*documentation*/ undefined, "local class");
+
+goTo.marker("3");
+verify.completionListContains("myClass", "(local class) myClass", /*documentation*/ undefined, "local class");
+
+goTo.marker("4");
+verify.completionListContains("myClass", "class myClass", /*documentation*/ undefined, "class");
+
+goTo.marker("5");
+verify.completionListContains("myClass", "class myClass", /*documentation*/ undefined, "class");