diff --git a/app/src/main/java/org/thoughtcrime/securesms/sharing/v2/ShareActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/sharing/v2/ShareActivity.kt
index 2fbd28fe5932451ad294aaa2696ae82f4a51f683..ce97b3984723c406bd8d1bac78de0f04dd0fe461 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/sharing/v2/ShareActivity.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/sharing/v2/ShareActivity.kt
@@ -38,7 +38,7 @@ class ShareActivity : PassphraseRequiredActivity(), MultiselectForwardFragment.C
   private lateinit var finishOnOkResultLauncher: ActivityResultLauncher<Intent>
 
   private val viewModel: ShareViewModel by viewModels {
-    ShareViewModel.Factory(getUnresolvedShareData(), directShareTarget, ShareRepository(this))
+    ShareViewModel.Factory(getUnresolvedShareData(), ShareRepository(this))
   }
 
   private val directShareTarget: RecipientId?
@@ -72,7 +72,17 @@ class ShareActivity : PassphraseRequiredActivity(), MultiselectForwardFragment.C
         ShareState.ShareDataLoadState.Init -> Unit
         ShareState.ShareDataLoadState.Failed -> finish()
         is ShareState.ShareDataLoadState.Loaded -> {
-          ensureFragment(shareState.loadState.resolvedShareData)
+          val directShareTarget = this.directShareTarget
+          if (directShareTarget != null) {
+            openConversation(
+              ShareEvent.OpenConversation(
+                shareState.loadState.resolvedShareData,
+                ContactSearchKey.RecipientSearchKey.KnownRecipient(directShareTarget)
+              )
+            )
+          } else {
+            ensureFragment(shareState.loadState.resolvedShareData)
+          }
         }
       }
     }
diff --git a/app/src/main/java/org/thoughtcrime/securesms/sharing/v2/ShareViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/sharing/v2/ShareViewModel.kt
index 42feaeb80f885a64f79e4b77989746d9114a9fef..31db8d176701c65e6f8b30744e3c773d0950abc9 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/sharing/v2/ShareViewModel.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/sharing/v2/ShareViewModel.kt
@@ -10,13 +10,11 @@ import io.reactivex.rxjava3.kotlin.subscribeBy
 import io.reactivex.rxjava3.subjects.PublishSubject
 import org.signal.core.util.logging.Log
 import org.thoughtcrime.securesms.contacts.paged.ContactSearchKey
-import org.thoughtcrime.securesms.recipients.RecipientId
 import org.thoughtcrime.securesms.sharing.InterstitialContentType
 import org.thoughtcrime.securesms.util.rx.RxStore
 
 class ShareViewModel(
   unresolvedShareData: UnresolvedShareData,
-  directShareTarget: RecipientId?,
   shareRepository: ShareRepository
 ) : ViewModel() {
 
@@ -34,13 +32,10 @@ class ShareViewModel(
   init {
     disposables += shareRepository.resolve(unresolvedShareData).subscribeBy(
       onSuccess = { data ->
-        when {
-          data == ResolvedShareData.Failure -> {
+        when (data) {
+          ResolvedShareData.Failure -> {
             moveToFailedState()
           }
-          directShareTarget != null -> {
-            eventSubject.onNext(ShareEvent.OpenConversation(data, ContactSearchKey.RecipientSearchKey.KnownRecipient(directShareTarget)))
-          }
           else -> {
             store.update { it.copy(loadState = ShareState.ShareDataLoadState.Loaded(data)) }
           }
@@ -86,11 +81,10 @@ class ShareViewModel(
 
   class Factory(
     private val unresolvedShareData: UnresolvedShareData,
-    private val directShareTarget: RecipientId?,
     private val shareRepository: ShareRepository
   ) : ViewModelProvider.Factory {
     override fun <T : ViewModel?> create(modelClass: Class<T>): T {
-      return modelClass.cast(ShareViewModel(unresolvedShareData, directShareTarget, shareRepository)) as T
+      return modelClass.cast(ShareViewModel(unresolvedShareData, shareRepository)) as T
     }
   }
 }
diff --git a/app/src/main/res/xml/shortcuts.xml b/app/src/main/res/xml/shortcuts.xml
index db9c955bbcc61198ce10d6507e8cb82cd79904c3..9ab5680f83040f90a544a8dce0ed8a320e64a251 100644
--- a/app/src/main/res/xml/shortcuts.xml
+++ b/app/src/main/res/xml/shortcuts.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
-    <share-target android:targetClass="org.thoughtcrime.securesms.sharing.ShareActivity">
+    <share-target android:targetClass="org.thoughtcrime.securesms.sharing.v2.ShareActivity">
         <data android:mimeType="*/*" />
         <category android:name="org.thoughtcrime.securesms.sharing.CATEGORY_SHARE_TARGET" />
     </share-target>