diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/ScannerTest.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/ScannerTest.java
index 9bf1b78..4403508 100644
--- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/ScannerTest.java
+++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/ScannerTest.java
@@ -1555,4 +1555,31 @@
 		}
 		assertEquals("Wrong token type", ITerminalSymbols.TokenNameIntegerLiteral, token);
 	}
+
+	public void testBug575556_at_14() {
+		char[] source= "\"Hello\\sworld\"".toCharArray();
+		Scanner scanner = new Scanner(false, false, false, ClassFileConstants.JDK14, null, null, false);
+		scanner.setSource(source);
+		scanner.resetTo(0, source.length - 1);
+		try {
+			scanner.getNextToken();
+			fail("Should have rejected \\s");
+		} catch (InvalidInputException e) {
+			assertEquals(Scanner.INVALID_ESCAPE, e.getMessage());
+		}
+	}
+
+	public void testBug575556_at_15() {
+		char[] source= "\"Hello\\sworld\"".toCharArray();
+		Scanner scanner = new Scanner(false, false, false, ClassFileConstants.JDK15, null, null, false);
+		scanner.setSource(source);
+		scanner.resetTo(0, source.length - 1);
+		try {
+			int token = scanner.getNextToken();
+			assertEquals(TerminalTokens.TokenNameStringLiteral, token);
+			assertEquals("Unexpected string literal content", "Hello world", scanner.getCurrentStringLiteral());
+		} catch (InvalidInputException e) {
+			fail("Should have accepted \\s");
+		}
+	}
 }
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Scanner.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Scanner.java
index 77bd47d..b51abe6 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Scanner.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Scanner.java
@@ -3328,6 +3328,9 @@
 			this.currentCharacter = '\'';
 			break;
 		case 's' :
+			if (this.sourceLevel < ClassFileConstants.JDK15) {
+				throw new InvalidInputException(INVALID_ESCAPE);
+			}
 			this.currentCharacter = ' ';
 			break;
 		case '\\' :
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/PublicScanner.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/PublicScanner.java
index 23fe86f..20c484e 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/PublicScanner.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/PublicScanner.java
@@ -2863,6 +2863,12 @@
 		case '\'' :
 			this.currentCharacter = '\'';
 			break;
+		case 's' :
+			if (this.sourceLevel < ClassFileConstants.JDK15) {
+				throw new InvalidInputException(INVALID_ESCAPE);
+			}
+			this.currentCharacter = ' ';
+			break;
 		case '\\' :
 			this.currentCharacter = '\\';
 			break;
