bug 61683
diff --git a/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/AutomaticUpdatesJob.java b/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/AutomaticUpdatesJob.java
index 911dbd3..04ce574 100644
--- a/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/AutomaticUpdatesJob.java
+++ b/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/AutomaticUpdatesJob.java
@@ -28,12 +28,21 @@
 import org.eclipse.update.operations.*;
 import org.eclipse.update.search.*;
 
-public class AutomaticUpdatesJob
-	extends Job
-	implements IUpdateSearchResultCollector {
+public class AutomaticUpdatesJob extends Job {
+	
+	private class AutomaticSearchResultCollector implements IUpdateSearchResultCollector {
+		public void accept(IFeature feature) {
+			IInstallFeatureOperation operation =
+				OperationsManager
+					.getOperationFactory()
+					.createInstallOperation(null, feature, null, null, null);
+			updates.add(operation);
+		}
+	}
 	
 	// job family	
 	public static final Object family = new Object();
+	private IUpdateSearchResultCollector resultCollector;
 	
 	private static final IStatus OK_STATUS =
 		new Status(
@@ -51,13 +60,6 @@
 		setPriority(Job.DECORATE);
 	}
 
-	public void accept(IFeature feature) {
-		IInstallFeatureOperation operation =
-			OperationsManager
-				.getOperationFactory()
-				.createInstallOperation(null, feature, null, null, null);
-		updates.add(operation);
-	}
 
 	/**
 	 * Returns the standard display to be used. The method first checks, if
@@ -82,7 +84,9 @@
 		}
 		searchRequest = UpdateUtils.createNewUpdatesRequest(null);
 		try {
-			searchRequest.performSearch(this, monitor);
+			if (resultCollector == null)
+				resultCollector = new AutomaticSearchResultCollector();
+			searchRequest.performSearch(resultCollector, monitor);
 			if (UpdateCore.DEBUG) {
 				UpdateCore.debug("Automatic update search finished - "
 				+ updates.size()
diff --git a/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/UpdateScheduler.java b/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/UpdateScheduler.java
index 7db20f7..284843a 100644
--- a/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/UpdateScheduler.java
+++ b/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/UpdateScheduler.java
@@ -45,15 +45,16 @@
 	 */
 	public UpdateScheduler() {
 		plugin = this;
-		try {
-			resourceBundle = ResourceBundle.getBundle("org.eclipse.update.internal.scheduler.UpdateSchedulerResources"); //$NON-NLS-1$
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
 	}
 
 
 	public ResourceBundle getResourceBundle() {
+		if (resourceBundle == null)
+			try {
+				resourceBundle = ResourceBundle.getBundle("org.eclipse.update.internal.scheduler.UpdateSchedulerResources"); //$NON-NLS-1$
+			} catch (MissingResourceException x) {
+				resourceBundle = null;
+			}
 		return resourceBundle;
 	}