diff --git a/staticlibs/src_servicescommon/android/net/NetworkFactory.java b/staticlibs/src_servicescommon/android/net/NetworkFactory.java
index 47054f5..9bcc863 100644
--- a/staticlibs/src_servicescommon/android/net/NetworkFactory.java
+++ b/staticlibs/src_servicescommon/android/net/NetworkFactory.java
@@ -117,10 +117,10 @@
         mCapabilityFilter = filter;
     }
 
+    /* Registers this NetworkFactory with the system. May only be called once per factory. */
     public void register() {
         if (mProvider != null) {
-            Log.e(LOG_TAG, "Ignoring attempt to register already-registered NetworkFactory");
-            return;
+            throw new IllegalStateException("A NetworkFactory must only be registered once");
         }
         if (DBG) log("Registering NetworkFactory");
 
@@ -142,16 +142,19 @@
             Context.CONNECTIVITY_SERVICE)).registerNetworkProvider(mProvider);
     }
 
-    public void unregister() {
+    /** Unregisters this NetworkFactory. After this call, the object can no longer be used. */
+    public void terminate() {
         if (mProvider == null) {
-            Log.e(LOG_TAG, "Ignoring attempt to unregister unregistered NetworkFactory");
-            return;
+            throw new IllegalStateException("This NetworkFactory was never registered");
         }
         if (DBG) log("Unregistering NetworkFactory");
 
         ((ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE))
             .unregisterNetworkProvider(mProvider);
-        mProvider = null;
+
+        // Remove all pending messages, since this object cannot be reused. Any message currently
+        // being processed will continue to run.
+        removeCallbacksAndMessages(null);
     }
 
     @Override
