diff --git a/packages/SystemUI/src/com/android/systemui/OverviewProxyService.java b/packages/SystemUI/src/com/android/systemui/OverviewProxyService.java
index 3c666e4..041af0e 100644
--- a/packages/SystemUI/src/com/android/systemui/OverviewProxyService.java
+++ b/packages/SystemUI/src/com/android/systemui/OverviewProxyService.java
@@ -36,6 +36,7 @@
 import com.android.systemui.OverviewProxyService.OverviewProxyListener;
 import com.android.systemui.recents.events.EventBus;
 import com.android.systemui.recents.events.activity.DockedFirstAnimationFrameEvent;
+import com.android.systemui.recents.misc.SystemServicesProxy;
 import com.android.systemui.shared.recents.IOverviewProxy;
 import com.android.systemui.shared.recents.ISystemUiProxy;
 import com.android.systemui.shared.system.GraphicBufferCompat;
@@ -201,15 +202,18 @@
         mConnectionBackoffAttempts = 0;
         mLauncherComponentName = ComponentName
                 .unflattenFromString(context.getString(R.string.config_overviewServiceComponent));
-        mDeviceProvisionedController.addCallback(mDeviceProvisionedCallback);
 
         // Listen for the package update changes.
-        IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_ADDED);
-        filter.addDataScheme("package");
-        filter.addDataSchemeSpecificPart(mLauncherComponentName.getPackageName(),
-                PatternMatcher.PATTERN_LITERAL);
-        filter.addAction(Intent.ACTION_PACKAGE_CHANGED);
-        mContext.registerReceiver(mLauncherAddedReceiver, filter);
+        if (SystemServicesProxy.getInstance(context)
+                .isSystemUser(mDeviceProvisionedController.getCurrentUser())) {
+            mDeviceProvisionedController.addCallback(mDeviceProvisionedCallback);
+            IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_ADDED);
+            filter.addDataScheme("package");
+            filter.addDataSchemeSpecificPart(mLauncherComponentName.getPackageName(),
+                    PatternMatcher.PATTERN_LITERAL);
+            filter.addAction(Intent.ACTION_PACKAGE_CHANGED);
+            mContext.registerReceiver(mLauncherAddedReceiver, filter);
+        }
     }
 
     public void startConnectionToCurrentUser() {
