diff --git a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/translation/JSPJavaTranslatorCoreTest.java b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/translation/JSPJavaTranslatorCoreTest.java
index 3fd9c3a..3fbe1fd 100644
--- a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/translation/JSPJavaTranslatorCoreTest.java
+++ b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/translation/JSPJavaTranslatorCoreTest.java
@@ -282,12 +282,11 @@
 		 * Should be set to false. A referenced class in an included segment
 		 * does not exist.
 		 */
-		long timeCopy = System.currentTimeMillis();
+		long timeBuild = System.currentTimeMillis();
 		JSPCorePlugin.getDefault().getPluginPreferences().setValue(JSPCorePreferenceNames.VALIDATE_FRAGMENTS, false);
 		BundleResourceUtil.copyBundleEntriesIntoWorkspace("/testfiles/" + testName, "/" + testName);
 		BundleResourceUtil.copyBundleEntryIntoWorkspace("/testfiles/struts.jar", "/" + testName + "/WebContent/WEB-INF/lib/struts.jar");
-		timeCopy = System.currentTimeMillis() - timeCopy;
-		long timeBuild = System.currentTimeMillis();
+
 		waitForBuildAndValidation(project);
 		timeBuild = System.currentTimeMillis() - timeBuild;
 		JSPCorePlugin.getDefault().getPluginPreferences().setValue(JSPCorePreferenceNames.VALIDATE_FRAGMENTS, doValidateSegments);
@@ -301,7 +300,7 @@
 		for (int i = 0; i < messages.size(); i++) {
 			s.append("\nproblem on line " + ((IMessage)messages.get(i)).getAttribute(IMarker.LINE_NUMBER) + ": " + ((IMessage)messages.get(i)).getText());
 		}
-		assertEquals("problem markers found" + s.toString() + "\nCreate: " + timeCreate + "\nCopy: " + timeCopy + "\nBuild: " + timeBuild + "\nValidate: " + timeValidate, 0, messages.size());
+		assertEquals("problem markers found" + s.toString() + "\nCreate: " + timeCreate + "\nBuild: " + timeBuild + "\nValidate: " + timeValidate, 0, messages.size());
 	}
 
 	public void test_181057a() throws Exception {
