diff --git a/res/xml/testing_settings.xml b/res/xml/testing_settings.xml
index d8d7705..4e5c5dd 100644
--- a/res/xml/testing_settings.xml
+++ b/res/xml/testing_settings.xml
@@ -18,7 +18,8 @@
         android:title="@string/testing" >
             
     <PreferenceScreen
-            android:title="@string/testing_phone_info">
+            android:title="@string/testing_phone_info"
+            android:key="radio_info_settings">
         <intent android:action="android.intent.action.MAIN"
                 android:targetPackage="com.android.settings"
                 android:targetClass="com.android.settings.RadioInfo" />
diff --git a/src/com/android/settings/TestingSettings.java b/src/com/android/settings/TestingSettings.java
index 3994560..b20d327 100644
--- a/src/com/android/settings/TestingSettings.java
+++ b/src/com/android/settings/TestingSettings.java
@@ -17,7 +17,9 @@
 package com.android.settings;
 
 import android.os.Bundle;
+import android.os.UserHandle;
 import android.preference.PreferenceActivity;
+import android.preference.PreferenceScreen;
 
 public class TestingSettings extends PreferenceActivity {
 
@@ -26,6 +28,12 @@
         super.onCreate(savedInstanceState);
         
         addPreferencesFromResource(R.xml.testing_settings);
+
+        if (UserHandle.myUserId() != UserHandle.USER_OWNER) {
+            PreferenceScreen preferenceScreen = (PreferenceScreen)
+                    findPreference("radio_info_settings");
+            getPreferenceScreen().removePreference(preferenceScreen);
+        }
     }
 
 }
diff --git a/tests/src/com/android/settings/bluetooth/Utf8ByteLengthFilterTest.java b/tests/src/com/android/settings/bluetooth/Utf8ByteLengthFilterTest.java
index 0ed7812..ecbd947 100644
--- a/tests/src/com/android/settings/bluetooth/Utf8ByteLengthFilterTest.java
+++ b/tests/src/com/android/settings/bluetooth/Utf8ByteLengthFilterTest.java
@@ -22,27 +22,8 @@
 
 import com.android.settings.bluetooth.Utf8ByteLengthFilter;
 
-import dalvik.annotation.TestLevel;
-import dalvik.annotation.TestTargetClass;
-import dalvik.annotation.TestTargetNew;
-import dalvik.annotation.TestTargets;
-
-@TestTargetClass(Utf8ByteLengthFilter.class)
 public class Utf8ByteLengthFilterTest extends AndroidTestCase {
 
-    @TestTargets({
-        @TestTargetNew(
-            level = TestLevel.COMPLETE,
-            method = "filter",
-            args = {java.lang.CharSequence.class, int.class, int.class, android.text.Spanned.class,
-                    int.class, int.class}
-        ),
-        @TestTargetNew(
-            level = TestLevel.COMPLETE,
-            method = "Utf8ByteLengthFilter",
-            args = {int.class}
-        )
-    })
     public void testFilter() {
         // Define the variables
         CharSequence source;
