diff --git a/core/tests/coretests/apks/install_uses_feature/Android.mk b/core/tests/coretests/apks/install_uses_feature/Android.mk
new file mode 100644
index 0000000000000..c0a5067f168df
--- /dev/null
+++ b/core/tests/coretests/apks/install_uses_feature/Android.mk
@@ -0,0 +1,11 @@
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_TAGS := tests
+
+LOCAL_SRC_FILES := $(call all-subdir-java-files)
+
+LOCAL_PACKAGE_NAME := FrameworkCoreTests_install_uses_feature
+
+include $(BUILD_PACKAGE)
+
diff --git a/core/tests/coretests/apks/install_uses_feature/AndroidManifest.xml b/core/tests/coretests/apks/install_uses_feature/AndroidManifest.xml
new file mode 100644
index 0000000000000..ecbd7c423370a
--- /dev/null
+++ b/core/tests/coretests/apks/install_uses_feature/AndroidManifest.xml
@@ -0,0 +1,23 @@
+
+
+
+ * Right now we allow all packages to be installed regardless of their
+ * features.
+ */
+ @LargeTest
+ public void testUsesFeatureUnknownFeature() {
+ int retCode = PackageManager.INSTALL_SUCCEEDED;
+ installFromRawResource("install.apk", R.raw.install_uses_feature, 0, true, false, retCode,
+ PackageInfo.INSTALL_LOCATION_UNSPECIFIED);
+ }
+
/*---------- Recommended install location tests ----*/
/*
* TODO's
diff --git a/services/java/com/android/server/PackageManagerService.java b/services/java/com/android/server/PackageManagerService.java
index 9b8a6057743ef..8c74566c231b4 100644
--- a/services/java/com/android/server/PackageManagerService.java
+++ b/services/java/com/android/server/PackageManagerService.java
@@ -2926,27 +2926,6 @@ class PackageManagerService extends IPackageManager.Stub {
System.arraycopy(mTmpSharedLibraries, 0,
pkg.usesLibraryFiles, 0, num);
}
-
- if (pkg.reqFeatures != null) {
- N = pkg.reqFeatures.size();
- for (int i=0; i