diff --git a/src/com/android/contacts/activities/ContactDetailActivity.java b/src/com/android/contacts/activities/ContactDetailActivity.java
index 55ad98e..f1a3c7e 100644
--- a/src/com/android/contacts/activities/ContactDetailActivity.java
+++ b/src/com/android/contacts/activities/ContactDetailActivity.java
@@ -47,8 +47,7 @@
         Log.i(TAG, getIntent().getData().toString());
 
         final View view = findViewById(R.id.contact_detail_fragment);
-//        mFragment = (ContactDetailFragment) findFragmentById(R.id.contact_detail_fragment);
-        mFragment = ContactDetailFragment.sLastInstance;
+        mFragment = (ContactDetailFragment) findFragmentById(R.id.contact_detail_fragment);
         mFragment.setCallbacks(mCallbackHandler);
         mFragment.loadUri(getIntent().getData());
     }
diff --git a/src/com/android/contacts/activities/ContactEditActivity.java b/src/com/android/contacts/activities/ContactEditActivity.java
index b7e458c..22aae18 100644
--- a/src/com/android/contacts/activities/ContactEditActivity.java
+++ b/src/com/android/contacts/activities/ContactEditActivity.java
@@ -55,7 +55,7 @@
         final String mimeType = intent.resolveType(getContentResolver());
         final Bundle intentExtras = intent.getExtras();
 
-        mFragment = ContactEditFragment.sLastInstance;
+        mFragment = (ContactEditFragment) findFragmentById(R.id.contact_edit_fragment);
         mFragment.setCallbacks(mCallbackHandler);
         mFragment.load(action, uri, mimeType, intentExtras);
     }
diff --git a/src/com/android/contacts/activities/TwoPaneActivity.java b/src/com/android/contacts/activities/TwoPaneActivity.java
index 9c02ee2..3b52156 100644
--- a/src/com/android/contacts/activities/TwoPaneActivity.java
+++ b/src/com/android/contacts/activities/TwoPaneActivity.java
@@ -43,12 +43,10 @@
 
         setContentView(R.layout.two_pane_activity);
 
-//        mListFragment = (DefaultContactBrowseListFragment) findFragmentById(R.id.two_pane_list);
-        mListFragment = DefaultContactBrowseListFragment.sLastFragment;
+        mListFragment = (DefaultContactBrowseListFragment) findFragmentById(R.id.two_pane_list);
         mListFragment.setOnContactListActionListener(mListCallbackHandler);
 
-//        mDetailFragment = (ContactDetailFragment) findFragmentById(R.id.two_pane_detail);
-        mDetailFragment = ContactDetailFragment.sLastInstance;
+        mDetailFragment = (ContactDetailFragment) findFragmentById(R.id.two_pane_detail);
         mDetailFragment.setCallbacks(mDetailCallbackHandler);
 
         setupSearchUI();
diff --git a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
index 13d60e1..179d25a 100644
--- a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
+++ b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
@@ -37,15 +37,9 @@
     private int mDisplayWithPhonesOnlyOption = ContactsRequest.DISPLAY_ONLY_WITH_PHONES_DISABLED;
     private boolean mVisibleContactsRestrictionEnabled = true;
 
-    // TODO: Remove this horrible hack once the framework can lookup fragments via findFragmentById
-    public static DefaultContactBrowseListFragment sLastFragment = null;
-
-
     public DefaultContactBrowseListFragment() {
         setPhotoLoaderEnabled(true);
         setSectionHeaderDisplayEnabled(true);
-
-        sLastFragment = this;
     }
 
     @Override
diff --git a/src/com/android/contacts/views/detail/ContactDetailFragment.java b/src/com/android/contacts/views/detail/ContactDetailFragment.java
index 592c273..b4e74d3 100644
--- a/src/com/android/contacts/views/detail/ContactDetailFragment.java
+++ b/src/com/android/contacts/views/detail/ContactDetailFragment.java
@@ -99,9 +99,6 @@
 
     private static final int LOADER_DETAILS = 1;
 
-    // TODO: Remove this horrible hack once findFragmentById works
-    public static ContactDetailFragment sLastInstance = null;
-
     private Context mContext;
     private Uri mLookupUri;
     private Callbacks mCallbacks;
@@ -155,8 +152,6 @@
         mSections.add(mOrganizationEntries);
         mSections.add(mGroupEntries);
         mSections.add(mOtherEntries);
-
-        sLastInstance = this;
     }
 
     @Override
diff --git a/src/com/android/contacts/views/edit/ContactEditFragment.java b/src/com/android/contacts/views/edit/ContactEditFragment.java
index 0511cb3..a2629b1 100644
--- a/src/com/android/contacts/views/edit/ContactEditFragment.java
+++ b/src/com/android/contacts/views/edit/ContactEditFragment.java
@@ -148,11 +148,7 @@
 
     private ViewIdGenerator mViewIdGenerator;
 
-    // TODO: Remove this temp instance once findFragmentById works
-    public static ContactEditFragment sLastInstance = null;
-
     public ContactEditFragment() {
-        sLastInstance = this;
     }
 
     @Override
