diff --git a/res/xml/testing_settings.xml b/res/xml/testing_settings.xml
index c55cb46..4d4d2a5 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/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
index 93ece66..e8ef5ef 100644
--- a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
+++ b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
@@ -254,8 +254,9 @@
         if (spellChecker != null) {
             final TextServicesManager tsm = (TextServicesManager) getSystemService(
                     Context.TEXT_SERVICES_MANAGER_SERVICE);
-            if (tsm.isSpellCheckerEnabled()) {
-                final SpellCheckerInfo sci = tsm.getCurrentSpellChecker();
+            final SpellCheckerInfo sci = tsm.getCurrentSpellChecker();
+            spellChecker.setEnabled(sci != null);
+            if (tsm.isSpellCheckerEnabled() && sci != null) {
                 spellChecker.setSummary(sci.loadLabel(getPackageManager()));
             } else {
                 spellChecker.setSummary(R.string.switch_off_text);
