diff --git a/org.eclipse.mylyn.sandbox.tests/src/org/eclipse/mylyn/sandbox/tests/StatisticsReportingTest.java b/org.eclipse.mylyn.sandbox.tests/src/org/eclipse/mylyn/sandbox/tests/StatisticsReportingTest.java
index 9a69256..b724f25 100644
--- a/org.eclipse.mylyn.sandbox.tests/src/org/eclipse/mylyn/sandbox/tests/StatisticsReportingTest.java
+++ b/org.eclipse.mylyn.sandbox.tests/src/org/eclipse/mylyn/sandbox/tests/StatisticsReportingTest.java
@@ -18,6 +18,7 @@
 
 import junit.framework.TestCase;
 
+import org.eclipse.core.runtime.jobs.IJobChangeEvent;
 import org.eclipse.core.runtime.jobs.JobChangeAdapter;
 import org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart;
 import org.eclipse.jdt.ui.JavaUI;
@@ -129,11 +130,11 @@
 		assertEquals(2f, editRatioCollector.getMylynRatio(-1));
 	}
 
-	@SuppressWarnings("unused")
 	public void testSimpleSelection() {
 		mockExplorerSelection("A.java");
 		report.getStatisticsFromInteractionHistory(logger.getOutputFile(), new JobChangeAdapter() {
-			public void done() {
+			@Override
+			public void done(IJobChangeEvent event) {
 				UsageStatisticsSummary summary = report.getLastParsedSummary();
 				assertTrue(summary.getSingleSummaries().size() > 0);
 			}
@@ -141,7 +142,6 @@
 
 	}
 
-	@SuppressWarnings("unused")
 	public void testFilteredModeDetection() throws IOException {
 		UiUsageMonitorPlugin.getDefault().addMonitoredPreferences(ContextUiPlugin.getDefault().getPreferenceStore());
 
@@ -177,7 +177,8 @@
 		logger.stopMonitoring();
 		report.getStatisticsFromInteractionHistory(logger.getOutputFile(), new JobChangeAdapter() {
 
-			public void done() {
+			@Override
+			public void done(IJobChangeEvent event) {
 				int normal = viewCollector.getNormalViewSelections().get(JavaUI.ID_PACKAGES);
 				assertEquals(5, normal);
 
diff --git a/org.eclipse.mylyn.web.tasks/src/org/eclipse/mylyn/internal/web/tasks/WebRepositorySettingsPage.java b/org.eclipse.mylyn.web.tasks/src/org/eclipse/mylyn/internal/web/tasks/WebRepositorySettingsPage.java
index 711ed38..094f578 100644
--- a/org.eclipse.mylyn.web.tasks/src/org/eclipse/mylyn/internal/web/tasks/WebRepositorySettingsPage.java
+++ b/org.eclipse.mylyn.web.tasks/src/org/eclipse/mylyn/internal/web/tasks/WebRepositorySettingsPage.java
@@ -307,7 +307,7 @@
 
 	public void propertyChange(PropertyChangeEvent event) {
 		Object source = event.getSource();
-		if (source == taskUrlText || source == taskUrlText) {
+		if (source == taskUrlText) {
 			getWizard().getContainer().updateButtons();
 		}
 	}
