diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/BatchCompilerTest.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/BatchCompilerTest.java
index 1c94118..214844f 100644
--- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/BatchCompilerTest.java
+++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/BatchCompilerTest.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -14066,4 +14066,53 @@
 	        "1 problem (1 warning)\n",
 			true);
 }
+// https://bugs.eclipse.org/bugs/show_bug.cgi?id=419351
+public void testBug419351() {
+	String backup = System.getProperty("java.endorsed.dirs");
+	String currentWorkingDirectoryPath = System.getProperty("user.dir");
+	if (currentWorkingDirectoryPath == null) {
+		fail("BatchCompilerTest#testBug419351 could not access the current working directory " + currentWorkingDirectoryPath);
+	} else if (!new File(currentWorkingDirectoryPath).isDirectory()) {
+		fail("BatchCompilerTest#testBug419351 current working directory is not a directory " + currentWorkingDirectoryPath);
+	}
+	String endorsedPath = currentWorkingDirectoryPath + File.separator + "endorsed";
+	new File(endorsedPath).mkdir();
+	String lib1Path = endorsedPath + File.separator + "lib1.jar";
+	try {
+		System.setProperty("java.endorsed.dirs", endorsedPath);
+		Util.createJar(
+				new String[] {
+						"java/lang/String.java",
+						"package java.lang;\n" + 
+						"public class String {\n" +
+						"    public String(java.lang.Object obj) {}\n" +
+						"}\n"
+				},
+				null,
+				lib1Path,
+				JavaCore.VERSION_1_5);
+		this.runConformTest(
+				new String[] {
+						"src/X.java",
+						"public class X {\n" +
+						"    public void foo(Object obj) {\n" +
+						"        java.lang.String str = new java.lang.String(obj);\n" +
+						"	}\n" +
+						"}\n",
+				},
+				"\"" + OUTPUT_DIR +  File.separator + "src/X.java\""
+				+ " -sourcepath \"" + OUTPUT_DIR +  File.separator + "src\""
+				+ " -1.4 -nowarn"
+				+ " -d \"" + OUTPUT_DIR + File.separator + "bin\" ",
+				"",
+				"",
+		        true);
+	} catch (IOException e) {
+		System.err.println("BatchCompilerTest#testBug419351 could not write to current working directory " + currentWorkingDirectoryPath);
+	} finally {
+		System.setProperty("java.endorsed.dirs", backup);
+		new File(endorsedPath).delete();
+		new File(lib1Path).delete();
+	}
+}
 }
diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/ResourceLeakTests.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/ResourceLeakTests.java
index 6f58202..2727d45 100644
--- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/ResourceLeakTests.java
+++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/ResourceLeakTests.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011, 2013 GK Software AG and others.
+ * Copyright (c) 2011, 2014 GK Software AG and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -4653,6 +4653,35 @@
 		options
 		);
 }
+// https://bugs.eclipse.org/411098 - [compiler][resource] Invalid Resource Leak Warning using ternary operator inside try-with-resource
+// should report potential leak only. 
+public void testBug411098_comment19() {
+	Map options = getCompilerOptions();
+	options.put(CompilerOptions.OPTION_ReportPotentiallyUnclosedCloseable, CompilerOptions.ERROR);
+	options.put(CompilerOptions.OPTION_ReportUnclosedCloseable, CompilerOptions.ERROR);
+	runNegativeTest(
+		new String[] {
+			"A.java",
+			"import java.io.PrintWriter;\n" + 
+			"public class A {\n" + 
+			"	PrintWriter fWriter;\n" + 
+			"	void bug(boolean useField) {\n" + 
+			"		PrintWriter bug= useField ? fWriter : null;\n" + 
+			"		System.out.println(bug);\n" + 
+			"	}\n" + 
+			"}"
+		},
+		"----------\n" + 
+		"1. ERROR in A.java (at line 5)\n" + 
+		"	PrintWriter bug= useField ? fWriter : null;\n" + 
+		"	            ^^^\n" + 
+		"Potential resource leak: \'bug\' may not be closed\n" + 
+		"----------\n",
+		null,
+		true,
+		options
+		);
+}
 // normal java.util.stream.Stream doesn't hold on to any resources
 public void testStream1() {
 	if (this.complianceLevel < ClassFileConstants.JDK1_8)
diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/SwitchTest.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/SwitchTest.java
index 165b19a..d78c27f 100644
--- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/SwitchTest.java
+++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/SwitchTest.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2012 IBM Corporation and others.
+ * Copyright (c) 2005, 2014 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -1463,7 +1463,7 @@
 		"public class testDuplicateHashCode {\n" +
 		"	public static void main(String[] argv) {\n" +
 		"		String dispatcher = \"\u0000\";\n" +
-		"		for (int i = 0; i < 100; i++) {\n" +
+		"		outer: for (int i = 0; i < 100; i++) {\n" +
 		"			switch (dispatcher) {\n" +
 		"			case \"\u0000\":\n" +
 		"				System.out.print(\"1 \");\n" +
@@ -1482,7 +1482,7 @@
 		"				break;\n" +
 		"			default:\n" +
 		"				System.out.println(\"Default\");\n" +
-		"				System.exit(0);\n" +
+		"				break outer;\n" +
 		"			case \"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\":\n" +
 		"				System.out.print(\"8 \");\n" +
 		"				break;\n" +
@@ -1519,7 +1519,7 @@
 		"public class testDuplicateHashCode {\n" +
 		"	public static void main(String[] argv) {\n" +
 		"		String dispatcher = \"\u0000\";\n" +
-		"		while(true) {\n" +
+		"		outer: while(true) {\n" +
 		"			switch (dispatcher) {\n" +
 		"			case \"\u0000\":\n" +
 		"				System.out.print(\"1 \");\n" +
@@ -1543,7 +1543,7 @@
 		"				break;\n" +
 		"			default:\n" +
 		"				System.out.println(\"Default\");\n" +
-		"				System.exit(0);\n" +
+		"				break outer;\n" +
 		"			case \"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\":\n" +
 		"				System.out.print(\"8 \");\n" +
 		"               dispatcher = \"\u0000\u0000\u0000\u0000\u0000\u0000\";\n" +
@@ -1721,7 +1721,7 @@
 		"     	return string.substring(index,index + 1);\n" +
 		"    }\n" +
 		"    public static void main(String [] args) {\n" +
-		"    	while (true) {\n" +
+		"    	outer: while (true) {\n" +
 		"    		String s = null;\n" +
 		"    		switch(s = dispatcher()) {\n" +
 		"    		case \"2\":\n" +
@@ -1739,7 +1739,7 @@
 		"    				System.out.print(s + \"(odd) \");\n" +
 		"    				break;\n" +
 		"    		default: System.out.print(\"DONE\");\n" +
-		"    				System.exit(0);\n" +
+		"    				break outer;\n" +
 		"    		}\n" +
 		"    	}\n" +
 		"    }\n" +
@@ -1771,7 +1771,7 @@
 		"     	return string.substring(index,index + 1);\n" +
 		"    }\n" +
 		"    public static void main(String [] args) {\n" +
-		"    	while (true) {\n" +
+		"    	outer: while (true) {\n" +
 		"    		String s = null;\n" +
 		"    		switch(s = dispatcher()) {\n" +
 		"    		case \"4\": System.out.print(s);\n" +
@@ -1780,7 +1780,7 @@
 		"    		case \"1\": System.out.print(s + \" \");\n" +
 		"    		case \"0\": break;\n" +
 		"    		default: System.out.print(\"DONE\");\n" +
-		"    				System.exit(0);\n" +
+		"    				break outer;\n" +
 		"    		}\n" +
 		"    	}\n" +
 		"    }\n" +
@@ -1845,11 +1845,9 @@
 		"    				System.out.print(s + \"(odd) \");\n" +
 		"    				break;\n" +
 		"    		default: System.out.print(\"DONE\");\n" +
-		"    				System.exit(0);\n" +
 		"    				 break junk;\n" +
 		"    		}\n" +
 		"    	}\n" +
-		"   	System.out.println(\"Broken\");\n" +
 		"    }\n" +
 		"}\n",
 	};
diff --git a/org.eclipse.jdt.core.tests.compiler/test.xml b/org.eclipse.jdt.core.tests.compiler/test.xml
index 2ff4a27..c4e07bb 100644
--- a/org.eclipse.jdt.core.tests.compiler/test.xml
+++ b/org.eclipse.jdt.core.tests.compiler/test.xml
@@ -34,11 +34,6 @@
 
   <!-- This target defines the tests that need to be run. -->
   <target name="suite">
-	 <condition property="onWin32">
-		<and>
-			<os family="windows" />
-    	</and>
-     </condition>  
     <!-- Parser tests -->
     <property name="jdt-parser-folder" 
               value="${eclipse-home}/jdt_parser_folder"/>
@@ -64,7 +59,7 @@
 	<antcall target="evaluation_tests"/>
   </target>
 
- <target name="evaluation_tests" if="onWin32">
+ <target name="evaluation_tests">
     <!-- Evaluation tests -->
     <property name="jdt-eval-folder" 
               value="${eclipse-home}/jdt_eval_folder"/>
