diff --git a/ring-android/app/src/main/java/cx/ring/fragments/LocationSharingFragment.java b/ring-android/app/src/main/java/cx/ring/fragments/LocationSharingFragment.java
index 91c8827faf7c026f4644ac398d83a07c04360ebf..312293926c5b36ef9c5dab91986966b6893d7575 100644
--- a/ring-android/app/src/main/java/cx/ring/fragments/LocationSharingFragment.java
+++ b/ring-android/app/src/main/java/cx/ring/fragments/LocationSharingFragment.java
@@ -294,16 +294,18 @@ public class LocationSharingFragment extends Fragment {
         mDisposableBag.add(mServiceDisposableBag);
         mDisposableBag.add(mShowControlsSubject.subscribe(this::setShowControls));
         mDisposableBag.add(mIsSharingSubject.subscribe(this::setIsSharing));
-        mDisposableBag.add(mShowMapSubject.subscribe(state -> {
-            Fragment p = getParentFragment();
-            if (p instanceof ConversationFragment) {
-                ConversationFragment parent = (ConversationFragment) p;
-                if (state == MapState.FULL)
-                    parent.openLocationSharing();
-                else
-                    parent.closeLocationSharing(state == MapState.MINI);
-            }
-        }));
+        mDisposableBag.add(mShowMapSubject
+                .subscribeOn(AndroidSchedulers.mainThread())
+                .subscribe(state -> {
+                    Fragment p = getParentFragment();
+                    if (p instanceof ConversationFragment) {
+                        ConversationFragment parent = (ConversationFragment) p;
+                        if (state == MapState.FULL)
+                            parent.openLocationSharing();
+                        else
+                            parent.closeLocationSharing(state == MapState.MINI);
+                    }
+                }));
         mDisposableBag.add(mIsContactSharingSubject
                 .distinctUntilChanged()
                 .observeOn(AndroidSchedulers.mainThread())