diff --git a/lib/pages/add_wallet_views/verify_recovery_phrase_view/verify_recovery_phrase_view.dart b/lib/pages/add_wallet_views/verify_recovery_phrase_view/verify_recovery_phrase_view.dart
index 9cda5954b..f18879297 100644
--- a/lib/pages/add_wallet_views/verify_recovery_phrase_view/verify_recovery_phrase_view.dart
+++ b/lib/pages/add_wallet_views/verify_recovery_phrase_view/verify_recovery_phrase_view.dart
@@ -261,7 +261,6 @@ class _VerifyRecoveryPhraseViewState
   }
 
   Future<void> delete() async {
-    await _wallet.exit();
     await ref.read(pWallets).deleteWallet(
           _wallet.walletId,
           ref.read(secureStoreProvider),
diff --git a/lib/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/delete_wallet_recovery_phrase_view.dart b/lib/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/delete_wallet_recovery_phrase_view.dart
index 2baff002f..504a4b501 100644
--- a/lib/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/delete_wallet_recovery_phrase_view.dart
+++ b/lib/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/delete_wallet_recovery_phrase_view.dart
@@ -16,6 +16,9 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
 import 'package:flutter_svg/svg.dart';
 import 'package:stackwallet/notifications/show_flush_bar.dart';
 import 'package:stackwallet/pages/add_wallet_views/new_wallet_recovery_phrase_view/sub_widgets/mnemonic_table.dart';
+import 'package:stackwallet/pages/home_view/home_view.dart';
+import 'package:stackwallet/providers/global/secure_store_provider.dart';
+import 'package:stackwallet/providers/global/wallets_provider.dart';
 import 'package:stackwallet/themes/stack_colors.dart';
 import 'package:stackwallet/utilities/assets.dart';
 import 'package:stackwallet/utilities/clipboard_interface.dart';
@@ -193,23 +196,15 @@ class _DeleteWalletRecoveryPhraseViewState
                             .extension<StackColors>()!
                             .getPrimaryEnabledButtonStyle(context),
                         onPressed: () async {
-                          // TODO: [prio=high] wallet deletion
+                          await ref.read(pWallets).deleteWallet(
+                                widget.walletId,
+                                ref.read(secureStoreProvider),
+                              );
 
-                          // final walletId = _manager.walletId;
-                          // final walletsInstance = ref.read(pWallets);
-                          // await ref
-                          //     .read(walletsServiceChangeNotifierProvider)
-                          //     .deleteWallet(_manager.walletName, true);
-                          //
-                          // if (mounted) {
-                          //   Navigator.of(context).popUntil(
-                          //       ModalRoute.withName(HomeView.routeName));
-                          // }
-                          //
-                          // // wait for widget tree to dispose of any widgets watching the manager
-                          // await Future<void>.delayed(
-                          //     const Duration(seconds: 1));
-                          // walletsInstance.removeWallet(walletId: walletId);
+                          if (mounted) {
+                            Navigator.of(context).popUntil(
+                                ModalRoute.withName(HomeView.routeName));
+                          }
                         },
                         child: Text(
                           "Ok",
diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/delete_wallet_keys_popup.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/delete_wallet_keys_popup.dart
index 028d0c714..f5d0e7395 100644
--- a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/delete_wallet_keys_popup.dart
+++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/delete_wallet_keys_popup.dart
@@ -15,6 +15,8 @@ import 'package:flutter/services.dart';
 import 'package:flutter_riverpod/flutter_riverpod.dart';
 import 'package:stackwallet/notifications/show_flush_bar.dart';
 import 'package:stackwallet/pages/add_wallet_views/new_wallet_recovery_phrase_view/sub_widgets/mnemonic_table.dart';
+import 'package:stackwallet/providers/global/secure_store_provider.dart';
+import 'package:stackwallet/providers/global/wallets_provider.dart';
 import 'package:stackwallet/route_generator.dart';
 import 'package:stackwallet/themes/stack_colors.dart';
 import 'package:stackwallet/utilities/assets.dart';
@@ -235,25 +237,14 @@ class _ConfirmDeleteState extends ConsumerState<ConfirmDelete> {
                     buttonHeight: ButtonHeight.xl,
                     label: "Continue",
                     onPressed: () async {
-                      // TODO: [prio=high] wallet deletion
+                      await ref.read(pWallets).deleteWallet(
+                            widget.walletId,
+                            ref.read(secureStoreProvider),
+                          );
 
-                      // final walletsInstance = ref.read(pWallets);
-                      // final manager =
-                      //     ref.read(pWallets).getManager(widget.walletId);
-                      //
-                      // final _managerWalletId = manager.walletId;
-                      // //
-                      // await ref
-                      //     .read(walletsServiceChangeNotifierProvider)
-                      //     .deleteWallet(manager.walletName, true);
-                      //
-                      // if (mounted) {
-                      //   Navigator.of(context, rootNavigator: true).pop(true);
-                      // }
-                      //
-                      // // wait for widget tree to dispose of any widgets watching the manager
-                      // await Future<void>.delayed(const Duration(seconds: 1));
-                      // walletsInstance.removeWallet(walletId: _managerWalletId);
+                      if (mounted) {
+                        Navigator.of(context, rootNavigator: true).pop(true);
+                      }
                     },
                   ),
                 ],
diff --git a/lib/services/wallets.dart b/lib/services/wallets.dart
index a9b10b28d..73d7e17a7 100644
--- a/lib/services/wallets.dart
+++ b/lib/services/wallets.dart
@@ -84,7 +84,9 @@ class Wallets {
       level: LogLevel.Warning,
     );
 
-    final wallet = getWallet(walletId)!;
+    final wallet = getWallet(walletId);
+    _wallets.remove(walletId);
+    await wallet.exit();
 
     await secureStorage.delete(key: Wallet.mnemonicKey(walletId: walletId));
     await secureStorage.delete(
@@ -321,9 +323,7 @@ class Wallets {
 
   Future<void> _deleteWallet(String walletId) async {
     // TODO proper clean up of other wallet data in addition to the following
-    await mainDB.isar.writeTxn(() async => await mainDB.isar.walletInfo
-        .where()
-        .walletIdEqualTo(walletId)
-        .deleteAll());
+    await mainDB.isar.writeTxn(
+        () async => await mainDB.isar.walletInfo.deleteByWalletId(walletId));
   }
 }