diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 319ce23788fd5d12f919dafa9ef1149783fe1c72..700289be5ac166624029470000e242d1db8e4140 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -35,8 +35,8 @@ android {
 
     defaultConfig {
         applicationId = "io.xxlabs.messenger"
-        versionCode = 630
-        versionName = "2.93"
+        versionCode = 637
+        versionName = "2.95"
         minSdk = 26
         targetSdk = 31
         testInstrumentationRunner = "io.xxlabs.messenger.CustomTestRunner"
diff --git a/app/src/main/java/io/xxlabs/messenger/bindings/wrapper/client/ClientWrapperBase.kt b/app/src/main/java/io/xxlabs/messenger/bindings/wrapper/client/ClientWrapperBase.kt
index dd66106676f803bdc0f595c540eec2434ba1bc33..d1e4e8e977cf221148d4be71d729a84d62a2cc57 100644
--- a/app/src/main/java/io/xxlabs/messenger/bindings/wrapper/client/ClientWrapperBase.kt
+++ b/app/src/main/java/io/xxlabs/messenger/bindings/wrapper/client/ClientWrapperBase.kt
@@ -52,6 +52,9 @@ interface ClientWrapperBase {
     ): Long
 
     fun confirmAuthenticatedChannel(marshalledContact: ByteArray): Long
+
+    fun deleteRequest(marshalledContact: ByteArray)
+
     fun waitForRoundCompletion(
         roundId: Long,
         timeoutMillis: Long,
diff --git a/app/src/main/java/io/xxlabs/messenger/bindings/wrapper/client/ClientWrapperBindings.kt b/app/src/main/java/io/xxlabs/messenger/bindings/wrapper/client/ClientWrapperBindings.kt
index 284c573ea873f82731a11456448ab8436e6619e0..3898d5afecb631d254823fac866cfb7d242c6f2e 100644
--- a/app/src/main/java/io/xxlabs/messenger/bindings/wrapper/client/ClientWrapperBindings.kt
+++ b/app/src/main/java/io/xxlabs/messenger/bindings/wrapper/client/ClientWrapperBindings.kt
@@ -139,6 +139,10 @@ class ClientWrapperBindings(
         return client.confirmAuthenticatedChannel(marshalledContact)
     }
 
+    override fun deleteRequest(marshalledContact: ByteArray) {
+        client.deleteRequest(marshalledContact)
+    }
+
     override fun waitForRoundCompletion(
         roundId: Long,
         timeoutMillis: Long,
diff --git a/app/src/main/java/io/xxlabs/messenger/bindings/wrapper/client/ClientWrapperMock.kt b/app/src/main/java/io/xxlabs/messenger/bindings/wrapper/client/ClientWrapperMock.kt
index 098e7b751fe91b040ddeae22f131653c0d8ac6cb..bd0139e68f3f239590d8e3ae250ef38c533ce0e6 100644
--- a/app/src/main/java/io/xxlabs/messenger/bindings/wrapper/client/ClientWrapperMock.kt
+++ b/app/src/main/java/io/xxlabs/messenger/bindings/wrapper/client/ClientWrapperMock.kt
@@ -88,6 +88,8 @@ class ClientWrapperMock(val contact: ContactData) : ClientWrapperBase {
         return Random.nextLong()
     }
 
+    override fun deleteRequest(marshalledContact: ByteArray) {}
+
     override fun waitForRoundCompletion(
         roundId: Long,
         timeoutMillis: Long,
diff --git a/app/src/main/java/io/xxlabs/messenger/notifications/MessagingService.kt b/app/src/main/java/io/xxlabs/messenger/notifications/MessagingService.kt
index 8cbd1f143de2593be126e3a6c2574ad5c1697fc9..967ef11d4b2cd52f6e50c67846a68dcc0058b2b1 100644
--- a/app/src/main/java/io/xxlabs/messenger/notifications/MessagingService.kt
+++ b/app/src/main/java/io/xxlabs/messenger/notifications/MessagingService.kt
@@ -291,18 +291,18 @@ class MessagingService : FirebaseMessagingService(), HasAndroidInjector {
     private fun NotificationForMeReport.notificationText(): String =
         when {
             isGroupRequest() -> getString(R.string.notification_group_request_text)
-            isRequest() -> getString(R.string.notification_request_text)
+            isRequest() || isReset() -> getString(R.string.notification_request_text)
             isConfirm() -> getString(R.string.notification_confirm_text)
             isE2E() -> getString(R.string.notification_e2e_text)
             isGroup() -> getString(R.string.notification_group_text)
             isEndFT() -> getString(R.string.notification_endft_text)
-            isReset() -> getString(R.string.notification_reset_text)
+//            isReset() -> getString(R.string.notification_reset_text)
             else -> "New activity" // Other types should not be displayed in the first place.
         }
 
     private fun NotificationForMeReport.channelId(): String =
         when {
-            isRequest() || isGroupRequest() -> getString(R.string.request_notification_channel_id)
+            isRequest() || isGroupRequest() || isReset() -> getString(R.string.request_notification_channel_id)
             isConfirm() -> getString(R.string.confirm_notification_channel_id)
             isE2E() || isEndFT() -> getString(R.string.e2e_notification_channel_id)
             isGroup() -> getString(R.string.group_notification_channel_id)
@@ -311,7 +311,7 @@ class MessagingService : FirebaseMessagingService(), HasAndroidInjector {
 
     private fun NotificationForMeReport.channelName(): String =
         when {
-            isRequest() || isGroupRequest() -> getString(R.string.notification_request_channel_label)
+            isRequest() || isGroupRequest() || isReset() -> getString(R.string.notification_request_channel_label)
             isConfirm() -> getString(R.string.notification_confirm_channel_label)
             isE2E() || isEndFT() -> getString(R.string.notification_e2e_channel_label)
             isGroup() -> getString(R.string.notification_group_channel_label)
diff --git a/app/src/main/java/io/xxlabs/messenger/requests/bindings/BindingsRequestMediator.kt b/app/src/main/java/io/xxlabs/messenger/requests/bindings/BindingsRequestMediator.kt
index 69514a6287e641956d1f69e0323e39dca6c058e7..09ecfa31c43a3eac97c32dc1331132e2a4c98c55 100644
--- a/app/src/main/java/io/xxlabs/messenger/requests/bindings/BindingsRequestMediator.kt
+++ b/app/src/main/java/io/xxlabs/messenger/requests/bindings/BindingsRequestMediator.kt
@@ -1,5 +1,6 @@
 package io.xxlabs.messenger.requests.bindings
 
+import com.dropbox.core.android.AuthActivity.result
 import io.xxlabs.messenger.bindings.wrapper.contact.ContactWrapperBase
 import io.xxlabs.messenger.data.room.model.Contact
 import io.xxlabs.messenger.repository.base.BaseRepository
@@ -64,15 +65,34 @@ class BindingsRequestMediator @Inject constructor(
     override suspend fun verifyContactRequest(request: ContactRequest): VerificationResult =
        requestVerifier.verifyRequest(request)
 
-    override fun resetSession(contact: Contact): Boolean {
+    override suspend fun deleteContactRequest(request: ContactRequest): Boolean {
+        return deleteContactRequest(request.model)
+    }
+
+    private fun deleteContactRequest(contact: Contact): Boolean {
         var result = false
         try {
-            val roundId = ClientRepository.clientWrapper.client.resetSession(
-                contact.marshaled,
-                repo.getMashalledUser(),
-                ""
+            ClientRepository.clientWrapper.client.deleteRequest(contact.userId)
+            result = true
+        } catch (e: Exception) {
+            Timber.d(
+                "Exception occurred when deleting request for ${contact.displayName}: ${e.message}."
             )
-            result = roundId > 0
+        }
+        return result
+    }
+
+    override fun resetSession(contact: Contact): Boolean {
+        var result = false
+        try {
+            if (deleteContactRequest(contact)) {
+                val roundId = ClientRepository.clientWrapper.client.resetSession(
+                    contact.marshaled,
+                    repo.getMashalledUser(),
+                    ""
+                )
+                result = roundId > 0
+            }
         } catch (e: Exception) {
             Timber.d(
                 "Exception occurred when resetting ${contact.displayName}: ${e.message}."
diff --git a/app/src/main/java/io/xxlabs/messenger/requests/bindings/ContactRequestsService.kt b/app/src/main/java/io/xxlabs/messenger/requests/bindings/ContactRequestsService.kt
index 3572e21d4a92917d297abfbf7aaa28ee4bac71eb..8096db4114ac6452636eedc2780acae0d244f5c4 100644
--- a/app/src/main/java/io/xxlabs/messenger/requests/bindings/ContactRequestsService.kt
+++ b/app/src/main/java/io/xxlabs/messenger/requests/bindings/ContactRequestsService.kt
@@ -7,5 +7,6 @@ interface ContactRequestsService {
     suspend fun acceptContactRequest(request: ContactRequest): Boolean
     suspend fun sendContactRequest(request: ContactRequest): Boolean
     suspend fun verifyContactRequest(request: ContactRequest): VerificationResult
+    suspend fun deleteContactRequest(request: ContactRequest): Boolean
     fun resetSession(contact: Contact): Boolean
 }
\ No newline at end of file
diff --git a/app/src/main/java/io/xxlabs/messenger/requests/data/contact/ContactRequestRepository.kt b/app/src/main/java/io/xxlabs/messenger/requests/data/contact/ContactRequestRepository.kt
index caf0d00d4d8efd7c95dba7730585bc47abc860a1..76eed4ac948c874cf995982ea5e9abb3052958bd 100644
--- a/app/src/main/java/io/xxlabs/messenger/requests/data/contact/ContactRequestRepository.kt
+++ b/app/src/main/java/io/xxlabs/messenger/requests/data/contact/ContactRequestRepository.kt
@@ -70,6 +70,7 @@ class ContactRequestsRepository @Inject constructor(
 
     override fun delete(request: ContactRequest) {
         scope.launch {
+            requestsService.deleteContactRequest(request)
             localDataSource.getRequest(request.requestId)?.apply {
                 localDataSource.deleteRequest(this)
             }
@@ -94,8 +95,8 @@ class ContactRequestsRepository @Inject constructor(
         scope.launch {
             when (request.requestStatus) {
                 VERIFICATION_FAIL -> verify(request)
-                RESET_FAIL, RESET_SENT -> resetSession(request)
-                SEND_FAIL, SENT -> resendRequest(request)
+                SEND_FAIL, SENT, RESET_FAIL, RESET_SENT -> resetSession(request)
+//                SEND_FAIL, SENT -> resendRequest(request)
                 CONFIRM_FAIL -> accept(request)
                 SENDING -> sendRequest(request)
                 else -> Timber.d("Unknown request status: ${request.requestStatus.value}")
@@ -149,7 +150,7 @@ class ContactRequestsRepository @Inject constructor(
     }
 
     private fun resetSession(request: ContactRequest) {
-        if (requestsService.resetSession(request.model)) update(request, RESET_SENT)
+        if (requestsService.resetSession(request.model)) update(request, RESENT)
         else update(request, RESET_FAIL)
     }
 
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 4c2720486cecdba22f476dc2463328ccfdc0f285..85e334b8709de91352934793fad2f4165d9df9e2 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -1 +1,2 @@
+rootProject.name = "xx Messenger Legacy"
 include(":app", ":xx_bindings", ":linkpreview", ":proto")