diff --git a/wince/ceutil.c b/wince/ceutil.c
index df9a336eb..b0a52fd4a 100755
--- a/wince/ceutil.c
+++ b/wince/ceutil.c
@@ -333,26 +333,6 @@ mkFullscreenWithSoftkeys( CEAppGlobals* globals, HWND hDlg, XP_U16 curHt,
 
     return success;
 } /* mkFullscreenWithSoftkeys */
-
-static void
-findEditCtrls( CeDlgHdr* dlgHdr )
-{
-    HWND ctrl;
-    XP_U16 nEdits = 0;
-
-    for ( ctrl = GetWindow( dlgHdr->hDlg, GW_CHILD );
-          !!ctrl && nEdits < MAX_EDITS;
-          ctrl = GetWindow( ctrl, GW_HWNDNEXT ) ) {
-        wchar_t buf[32];
-        if ( 0 != GetClassName( ctrl, buf, VSIZE(buf) )
-             && !wcscmp( L"Edit", buf ) ) {
-            XP_ASSERT( nEdits < MAX_EDITS );
-            dlgHdr->edits[nEdits++] = ctrl;
-        }
-    }
-    /* Sanity check: there are no Edits OR we're trapping them */
-    XP_ASSERT( (nEdits == 0) || ((dlgHdr->doWhat & DLG_STATE_TRAPBACK) != 0) );
-} /* findEditCtrls */
 #endif
 
 #define TITLE_HT 20            /* Need to get this from the OS */
@@ -409,7 +389,6 @@ ceDlgSetup( CeDlgHdr* dlgHdr, HWND hDlg, DlgStateTask doWhat )
        but I don't understand why: trapping here is still required. */
     if ( IS_SMARTPHONE(globals) ) {
         trapBackspaceKey( hDlg );
-        findEditCtrls( dlgHdr );
     }
 #endif
 } /* ceDlgSetup */
@@ -430,18 +409,12 @@ ceDlgComboShowHide( CeDlgHdr* dlgHdr, XP_U16 baseId )
 static XP_Bool
 editHasFocus( const CeDlgHdr* dlgHdr )
 {
-    XP_Bool found = XP_FALSE;
     HWND focus = GetFocus();
-    XP_U16 ii;
-    for ( ii = 0; ii < MAX_EDITS && !found; ++ii ) {
-        HWND ctrl = dlgHdr->edits[ii];
-        if ( NULL == ctrl ) {
-            break;
-        } else if ( ctrl == focus ) {
-            found = XP_TRUE;
-        }
-    }
-    return found;
+    wchar_t buf[32];
+    XP_Bool isEdit = !!focus
+        && ( 0 != GetClassName( focus, buf, VSIZE(buf) ) )
+        && !wcscmp( L"Edit", buf );
+    return isEdit;
 } /* editHasFocus */
 
 XP_Bool
diff --git a/wince/ceutil.h b/wince/ceutil.h
index da01e8204..9ebbaff6e 100755
--- a/wince/ceutil.h
+++ b/wince/ceutil.h
@@ -48,7 +48,6 @@ typedef enum { DLG_STATE_NONE = 0
                , DLG_STATE_TRAPBACK = 1 
                , DLG_STATE_DONEONLY = 2 
 } DlgStateTask;
-#define MAX_EDITS 8             /* the most any control has */
 typedef struct CeDlgHdr {
     CEAppGlobals* globals;
     HWND hDlg;
@@ -56,7 +55,6 @@ typedef struct CeDlgHdr {
     /* Below this line is private to ceutil.c */
     DlgStateTask doWhat;
     XP_U16 nPage;
-    HWND edits[MAX_EDITS];
 } CeDlgHdr;
 void ceDlgSetup( CeDlgHdr* dlgHdr, HWND hDlg, DlgStateTask doWhat );
 void ceDlgComboShowHide( CeDlgHdr* dlgHdr, XP_U16 baseId );