diff --git a/src/com/android/settings/UserDictionarySettings.java b/src/com/android/settings/UserDictionarySettings.java
index 4b30b53..6ffcb3d 100644
--- a/src/com/android/settings/UserDictionarySettings.java
+++ b/src/com/android/settings/UserDictionarySettings.java
@@ -159,7 +159,8 @@
         
         AdapterContextMenuInfo adapterMenuInfo = (AdapterContextMenuInfo) menuInfo;
         String word = getWord(adapterMenuInfo.position);
-        
+        if (word == null) return true;
+
         switch (item.getItemId()) {
             case CONTEXT_MENU_DELETE:
                 deleteWord(word);
@@ -193,6 +194,9 @@
     
     private String getWord(int position) {
         mCursor.moveToPosition(position);
+        // Handle a possible race-condition
+        if (mCursor.isAfterLast()) return null;
+
         return mCursor.getString(
                 mCursor.getColumnIndexOrThrow(UserDictionary.Words.WORD));
     }
diff --git a/src/com/android/settings/wifi/WifiApDialog.java b/src/com/android/settings/wifi/WifiApDialog.java
index 485e54e..7053d72 100644
--- a/src/com/android/settings/wifi/WifiApDialog.java
+++ b/src/com/android/settings/wifi/WifiApDialog.java
@@ -108,11 +108,10 @@
         return null;
     }
 
-    @Override
     protected void onCreate(Bundle savedInstanceState) {
 
-        Spinner mSecurity = ((Spinner) mView.findViewById(R.id.security));
         mView = getLayoutInflater().inflate(R.layout.wifi_ap_dialog, null);
+        Spinner mSecurity = ((Spinner) mView.findViewById(R.id.security));
 
         setView(mView);
         setInverseBackgroundForced(true);
