diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/SwitchPatternTest.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/SwitchPatternTest.java
index 7c6a603..8bcdae5 100644
--- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/SwitchPatternTest.java
+++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/SwitchPatternTest.java
@@ -3736,8 +3736,6 @@
 				options);
 	}
 	public void testBug575571_2() {
-		Map<String, String> options = getCompilerOptions();
-		options.put(CompilerOptions.OPTION_ReportMissingDefaultCase, CompilerOptions.WARNING);
 		runNegativeTest(
 				new String[] {
 						"X.java",
@@ -3843,4 +3841,32 @@
 				},
 				"Hello");
 	}
+	public void testBug575687_1() {
+		runNegativeTest(
+				new String[] {
+						"X.java",
+						"public class X {\n" +
+						"	static void number(Number i) {\n" +
+						"		switch (i) {\n" +
+						"			case Integer i2, 4.5:\n" +
+						"			case 4.3: System.out.println();\n" +
+						"			default: System.out.println(\"nothing\");\n" +
+						"		}\n" +
+						"	}\n" +
+						"	public static void main(String[] args) {}\n" +
+						"}\n" +
+						"enum Color {	Blue, Red;  }\n",
+				},
+				"----------\n" +
+				"1. ERROR in X.java (at line 4)\n" +
+				"	case Integer i2, 4.5:\n" +
+				"	                 ^^^\n" +
+				"Type mismatch: cannot convert from double to Number\n" +
+				"----------\n" +
+				"2. ERROR in X.java (at line 5)\n" +
+				"	case 4.3: System.out.println();\n" +
+				"	     ^^^\n" +
+				"Type mismatch: cannot convert from double to Number\n" +
+				"----------\n");
+	}
 }
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/CaseStatement.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/CaseStatement.java
index 029ff7d..e482b5a 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/CaseStatement.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/CaseStatement.java
@@ -326,8 +326,10 @@
 			} else if (e instanceof FakeDefaultLiteral) {
 				continue; // already processed
 			}
-			e.resolveType(scope);
+			caseType = e.resolveType(scope);
 		}
+		if (caseType == null)
+			return ResolvedCase.UnresolvedCase;
 		 // Avoid further resolution and secondary errors
 		if (caseType.isValidBinding()) {
 			Constant con = resolveConstantExpression(scope, caseType, switchExpressionType, switchStatement, e);
