diff --git a/services/core/java/com/android/server/pm/ShortcutService.java b/services/core/java/com/android/server/pm/ShortcutService.java
index 1cd77ffcedaa2328ac797e62895ab3e4c8ef0a10..78d8002f185a42cff7974aa3275000d472777dd1 100644
--- a/services/core/java/com/android/server/pm/ShortcutService.java
+++ b/services/core/java/com/android/server/pm/ShortcutService.java
@@ -320,10 +320,10 @@ public class ShortcutService extends IShortcutService.Stub {
 
     private final Handler mHandler;
 
-    @GuardedBy("mServiceLock")
+    @GuardedBy("itself")
     private final ArrayList<ShortcutChangeListener> mListeners = new ArrayList<>(1);
 
-    @GuardedBy("mServiceLock")
+    @GuardedBy("itself")
     private final ArrayList<LauncherApps.ShortcutChangeCallback> mShortcutChangeCallbacks =
             new ArrayList<>(1);
 
@@ -1847,7 +1847,9 @@ public class ShortcutService extends IShortcutService.Stub {
                         return;
                     }
 
-                    copy = new ArrayList<>(mListeners);
+                    synchronized (mListeners) {
+                        copy = new ArrayList<>(mListeners);
+                    }
                 }
                 // Note onShortcutChanged() needs to be called with the system service permissions.
                 for (int i = copy.size() - 1; i >= 0; i--) {
@@ -1872,8 +1874,9 @@ public class ShortcutService extends IShortcutService.Stub {
                     if (!isUserUnlockedL(userId)) {
                         return;
                     }
-
-                    copy = new ArrayList<>(mShortcutChangeCallbacks);
+                    synchronized (mShortcutChangeCallbacks) {
+                        copy = new ArrayList<>(mShortcutChangeCallbacks);
+                    }
                 }
                 for (int i = copy.size() - 1; i >= 0; i--) {
                     if (!CollectionUtils.isEmpty(changedList)) {
@@ -3429,7 +3432,7 @@ public class ShortcutService extends IShortcutService.Stub {
 
         @Override
         public void addListener(@NonNull ShortcutChangeListener listener) {
-            synchronized (mServiceLock) {
+            synchronized (mListeners) {
                 mListeners.add(Objects.requireNonNull(listener));
             }
         }
@@ -3437,7 +3440,7 @@ public class ShortcutService extends IShortcutService.Stub {
         @Override
         public void addShortcutChangeCallback(
                 @NonNull LauncherApps.ShortcutChangeCallback callback) {
-            synchronized (mServiceLock) {
+            synchronized (mShortcutChangeCallbacks) {
                 mShortcutChangeCallbacks.add(Objects.requireNonNull(callback));
             }
         }