diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/runtime/AbstractRegistryModelTest.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/runtime/AbstractRegistryModelTest.java
index e6f80c7..b004e4e 100644
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/runtime/AbstractRegistryModelTest.java
+++ b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/runtime/AbstractRegistryModelTest.java
@@ -92,7 +92,7 @@
 		testServiceReference = registration.getReference();
 
 		testExtPoint = Platform.getExtensionRegistry().getExtensionPoint(TEST_EXT_POINT);
-		testExtPointBundle = TestUtils.getBundle(TEST_EXT_POINT_BUNDLE);
+		testExtPointBundle = Platform.getBundle(TEST_EXT_POINT_BUNDLE);
 	}
 
 	@Override
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/runtime/TestUtils.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/runtime/TestUtils.java
index 4a3314e..b05b944 100644
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/runtime/TestUtils.java
+++ b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/runtime/TestUtils.java
@@ -26,32 +26,11 @@
 import org.eclipse.pde.ui.tests.PDETestsPlugin;
 import org.eclipse.swt.widgets.Display;
 import org.junit.Assert;
-import org.osgi.framework.Bundle;
-import org.osgi.service.packageadmin.PackageAdmin;
 
 /**
  * Utility methods for JUnit tests.
  */
-@SuppressWarnings("deprecation")
-// We use package admin to access bundles during the tests
 public class TestUtils {
-
-	private static PackageAdmin packageAdmin;
-
-	public static Bundle getBundle(String symbolicName) {
-		if (packageAdmin == null) {
-			packageAdmin = PDETestsPlugin.getBundleContext()
-					.getService(PDETestsPlugin.getBundleContext().getServiceReference(PackageAdmin.class));
-		}
-		Bundle[] bundles = packageAdmin.getBundles(symbolicName, null);
-
-		if (bundles != null) {
-			return bundles[0];
-		}
-
-		return null;
-	}
-
 	public static IExtensionPoint getExtensionPoint(String extensionPointId) {
 		return Platform.getExtensionRegistry().getExtensionPoint(extensionPointId);
 	}
