diff --git a/bundles/org.eclipse.equinox.weaving.hook/src/org/eclipse/equinox/service/weaving/SupplementerRegistry.java b/bundles/org.eclipse.equinox.weaving.hook/src/org/eclipse/equinox/service/weaving/SupplementerRegistry.java
index cd21e49..213da49 100644
--- a/bundles/org.eclipse.equinox.weaving.hook/src/org/eclipse/equinox/service/weaving/SupplementerRegistry.java
+++ b/bundles/org.eclipse.equinox.weaving.hook/src/org/eclipse/equinox/service/weaving/SupplementerRegistry.java
@@ -252,17 +252,7 @@
                             + bundle.getSymbolicName());
 
         try {
-            final int initialstate = (bundle.getState() & (Bundle.ACTIVE | Bundle.STARTING));
-            // TODO Why stop? Shouldn't start again?
-            boolean wasStopped = false;
-            if (initialstate != 0
-                    && packageAdmin != null
-                    && packageAdmin.getBundleType(bundle) != PackageAdmin.BUNDLE_TYPE_FRAGMENT) {
-                wasStopped = true;
-                bundle.stop(Bundle.STOP_TRANSIENT);
-            }
             bundle.update();
-            if (wasStopped) bundle.start(Bundle.START_TRANSIENT);
         } catch (final BundleException e) {
             e.printStackTrace();
         }
