Bug 70068
   BundleStopper marks non-autostartable bundles as stopped
diff --git a/bundles/org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/core/runtime/adaptor/BundleStopper.java b/bundles/org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/core/runtime/adaptor/BundleStopper.java
index eb957dd..2f0c1d3 100644
--- a/bundles/org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/core/runtime/adaptor/BundleStopper.java
+++ b/bundles/org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/core/runtime/adaptor/BundleStopper.java
@@ -67,10 +67,10 @@
 		// stop all active bundles in the reverse order of Require-Bundle
 		for (int stoppingIndex = allToStop.length - 1; stoppingIndex >= 0; stoppingIndex--) {
 			AbstractBundle toStop = (AbstractBundle) context.getBundle(allToStop[stoppingIndex].getBundleId());
+			if (toStop.getBundleId() == 0 || !((EclipseBundleData) toStop.getBundleData()).isAutoStartable())
+				continue;
 			try {
-				if (toStop.getState() != Bundle.ACTIVE || !(toStop instanceof BundleHost) || toStop.getBundleId() == 0)
-					continue;
-				if (!((EclipseBundleData) toStop.getBundleData()).isAutoStartable())
+				if (toStop.getState() != Bundle.ACTIVE || !(toStop instanceof BundleHost))
 					continue;
 				toStop.stop();
 			} catch (Exception e) {