diff --git a/src/net/i2p/android/router/fragment/AddressbookFragment.java b/src/net/i2p/android/router/fragment/AddressbookFragment.java
index 130c0621b2d6a0a2d89a235eda2edb0761d1b3fe..2a14eaf95db3b4decc421257e235f166966af529 100644
--- a/src/net/i2p/android/router/fragment/AddressbookFragment.java
+++ b/src/net/i2p/android/router/fragment/AddressbookFragment.java
@@ -40,7 +40,6 @@ public class AddressbookFragment extends ListFragment implements
     private static final int PRIVATE_LOADER_ID = 2;
 
     private boolean mOnActivityCreated;
-    private boolean mOnRouterBind;
     RouterContextProvider mRouterContextProvider;
     OnAddressSelectedListener mCallback;
     private AddressEntryAdapter mAdapter;
@@ -94,9 +93,7 @@ public class AddressbookFragment extends ListFragment implements
         setListAdapter(mAdapter);
 
         mOnActivityCreated = true;
-        // Check getRouterContext() in case this was not the
-        // active Fragment when onRouterBind() was called.
-        if (mOnRouterBind || getRouterContext() != null)
+        if (getRouterContext() != null)
             onRouterConnectionReady();
         else
             setEmptyText(getResources().getString(
@@ -104,32 +101,22 @@ public class AddressbookFragment extends ListFragment implements
     }
 
     public void onRouterConnectionReady() {
-        LoaderManager lm = getLoaderManager();
         if (mAddWizardData != null) {
-            if (getRouterContext() != null) {
-                // Save the new entry
-                Bundle entryData = mAddWizardData.getExtras().getBundle(ADD_WIZARD_DATA);
-                NamingService ns = NamingServiceUtil.getNamingService(getRouterContext(), mBook);
-                boolean success = NamingServiceUtil.addFromWizard(getActivity(), ns, entryData, false);
-                if (success) {
-                    // Reload the list
-                    setListShown(false);
-                    getLoaderManager().restartLoader(PRIVATE_LOADER_ID, null, this);
-                }
+            // Save the new entry
+            Bundle entryData = mAddWizardData.getExtras().getBundle(ADD_WIZARD_DATA);
+            NamingService ns = NamingServiceUtil.getNamingService(getRouterContext(), mBook);
+            boolean success = NamingServiceUtil.addFromWizard(getActivity(), ns, entryData, false);
+            if (success) {
+                // Reload the list
+                setListShown(false);
+                getLoaderManager().restartLoader(PRIVATE_LOADER_ID, null, this);
             }
         } else {
-            // If the Router is running, or there is an existing Loader
-            if (getRouterContext() != null || lm.getLoader(PRIVATE_BOOK.equals(mBook) ?
-                    PRIVATE_LOADER_ID : ROUTER_LOADER_ID) != null) {
-                setEmptyText("No hosts in address book " + mBook);
+            setEmptyText("No hosts in address book " + mBook);
 
-                setListShown(false);
-                lm.initLoader(PRIVATE_BOOK.equals(mBook) ?
-                        PRIVATE_LOADER_ID : ROUTER_LOADER_ID, null, this);
-            } else {
-                setEmptyText(getResources().getString(
-                        R.string.router_not_running));
-            }
+            setListShown(false);
+            getLoaderManager().initLoader(PRIVATE_BOOK.equals(mBook) ?
+                    PRIVATE_LOADER_ID : ROUTER_LOADER_ID, null, this);
         }
     }
 
@@ -195,7 +182,6 @@ public class AddressbookFragment extends ListFragment implements
     // I2PFragmentBase.RouterContextUser
 
     public void onRouterBind() {
-        mOnRouterBind = true;
         if (mOnActivityCreated)
             onRouterConnectionReady();
     }
diff --git a/src/net/i2p/android/router/fragment/I2PFragmentBase.java b/src/net/i2p/android/router/fragment/I2PFragmentBase.java
index 3af2454c4541a166087ee408ff319381f5faa347..e9aea55d2b3cd5451d487b0b20b81ed00d909414 100644
--- a/src/net/i2p/android/router/fragment/I2PFragmentBase.java
+++ b/src/net/i2p/android/router/fragment/I2PFragmentBase.java
@@ -14,7 +14,6 @@ import android.support.v4.app.Fragment;
 
 public class I2PFragmentBase extends Fragment {
     private boolean mOnActivityCreated;
-    private boolean mOnRouterBind;
     RouterContextProvider mCallback;
 
     protected static final String PREF_INSTALLED_VERSION = "app.version";
@@ -47,14 +46,13 @@ public class I2PFragmentBase extends Fragment {
     public void onActivityCreated(Bundle savedInstanceState) {
         super.onActivityCreated(savedInstanceState);
         mOnActivityCreated = true;
-        // Check getRouterContext() in case this was not the
-        // active Fragment when onRouterBind() was called.
-        if (mOnRouterBind || getRouterContext() != null)
+        if (getRouterContext() != null)
             onRouterConnectionReady();
+        else
+            onRouterConnectionNotReady();
     }
 
     public void onRouterBind() {
-        mOnRouterBind = true;
         if (mOnActivityCreated)
             onRouterConnectionReady();
     }
@@ -62,6 +60,9 @@ public class I2PFragmentBase extends Fragment {
     /** callback from I2PFragmentBase, override as necessary */
     public void onRouterConnectionReady() {}
 
+    /** callback from I2PFragmentBase, override as necessary */
+    public void onRouterConnectionNotReady() {}
+
     protected RouterContext getRouterContext() {
         return mCallback.getRouterContext();
     }
diff --git a/src/net/i2p/android/router/fragment/NetDbListFragment.java b/src/net/i2p/android/router/fragment/NetDbListFragment.java
index 80ad07af632e73cedddfb358862a34bd997c2e15..293bd8be4b4c92817863aedea8fc3c261efc89c8 100644
--- a/src/net/i2p/android/router/fragment/NetDbListFragment.java
+++ b/src/net/i2p/android/router/fragment/NetDbListFragment.java
@@ -35,7 +35,6 @@ public class NetDbListFragment extends ListFragment implements
     private static final String STATE_ACTIVATED_POSITION = "activated_position";
 
     private boolean mOnActivityCreated;
-    private boolean mOnRouterBind;
     RouterContextProvider mRouterContextProvider;
     OnEntrySelectedListener mEntrySelectedCallback;
     private NetDbEntryAdapter mAdapter;
@@ -108,9 +107,7 @@ public class NetDbListFragment extends ListFragment implements
         setListAdapter(mAdapter);
 
         mOnActivityCreated = true;
-        // Check getRouterContext() in case this was not the
-        // active Fragment when onRouterBind() was called.
-        if (mOnRouterBind || getRouterContext() != null)
+        if (getRouterContext() != null)
             onRouterConnectionReady();
         else
             setEmptyText(getResources().getString(
@@ -118,21 +115,13 @@ public class NetDbListFragment extends ListFragment implements
     }
 
     public void onRouterConnectionReady() {
-        LoaderManager lm = getLoaderManager();
-        // If the Router is running, or there is an existing Loader
-        if (getRouterContext() != null || lm.getLoader(mRouters ?
-                ROUTER_LOADER_ID : LEASESET_LOADER_ID) != null) {
-            setEmptyText(getResources().getString((mRouters ?
-                    R.string.netdb_routers_empty :
+        setEmptyText(getResources().getString((mRouters ?
+                R.string.netdb_routers_empty :
                     R.string.netdb_leases_empty)));
 
-            setListShown(false);
-            lm.initLoader(mRouters ? ROUTER_LOADER_ID
-                    : LEASESET_LOADER_ID, null, this);
-        } else {
-            setEmptyText(getResources().getString(
-                    R.string.router_not_running));
-        }
+        setListShown(false);
+        getLoaderManager().initLoader(mRouters ? ROUTER_LOADER_ID
+                : LEASESET_LOADER_ID, null, this);
     }
 
     @Override
@@ -199,7 +188,6 @@ public class NetDbListFragment extends ListFragment implements
     // I2PFragmentBase.RouterContextUser
 
     public void onRouterBind() {
-        mOnRouterBind = true;
         if (mOnActivityCreated)
             onRouterConnectionReady();
     }
diff --git a/src/net/i2p/android/router/fragment/NetDbSummaryPagerFragment.java b/src/net/i2p/android/router/fragment/NetDbSummaryPagerFragment.java
index 2e873e73194fe88024713e426c5e5ea85993b808..01c13e9922c733b70c093ccbfca7559dc6d20976 100644
--- a/src/net/i2p/android/router/fragment/NetDbSummaryPagerFragment.java
+++ b/src/net/i2p/android/router/fragment/NetDbSummaryPagerFragment.java
@@ -58,14 +58,12 @@ public class NetDbSummaryPagerFragment extends I2PFragmentBase implements
 
     @Override
     public void onRouterConnectionReady() {
-        LoaderManager lm = getLoaderManager();
-        // If the Router is running, or there is an existing Loader
-        if (getRouterContext() != null || lm.getLoader(0) != null) {
-            lm.initLoader(0, null, this);
-        } else {
-            // Router is not running or is not bound yet.
-            Util.i("Router not running or not bound to NetDbSummaryPagerFragment");
-        }
+        getLoaderManager().initLoader(0, null, this);
+    }
+
+    @Override
+    public void onRouterConnectionNotReady() {
+        Util.i("Router not running or not bound to NetDbSummaryPagerFragment");
     }
 
     @Override
@@ -78,10 +76,12 @@ public class NetDbSummaryPagerFragment extends I2PFragmentBase implements
         // Handle presses on the action bar items
         switch (item.getItemId()) {
         case R.id.action_refresh:
-            Util.i("Refresh called, restarting Loader");
-            mNetDbPagerAdapter.setData(null);
-            mViewPager.invalidate();
-            getLoaderManager().restartLoader(0, null, this);
+            if (getRouterContext() != null) {
+                Util.i("Refresh called, restarting Loader");
+                mNetDbPagerAdapter.setData(null);
+                mViewPager.invalidate();
+                getLoaderManager().restartLoader(0, null, this);
+            }
             return true;
         default:
             return super.onOptionsItemSelected(item);