diff --git a/lib/pages/settings_views/global_settings_view/tor_settings/tor_settings_view.dart b/lib/pages/settings_views/global_settings_view/tor_settings/tor_settings_view.dart
index 76b51889d..1c5127a34 100644
--- a/lib/pages/settings_views/global_settings_view/tor_settings/tor_settings_view.dart
+++ b/lib/pages/settings_views/global_settings_view/tor_settings/tor_settings_view.dart
@@ -13,6 +13,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
 import 'package:flutter_svg/flutter_svg.dart';
 import 'package:stackwallet/providers/global/prefs_provider.dart';
 import 'package:stackwallet/services/event_bus/events/global/tor_connection_status_changed_event.dart';
+import 'package:stackwallet/services/tor_service.dart';
 import 'package:stackwallet/themes/stack_colors.dart';
 import 'package:stackwallet/utilities/assets.dart';
 import 'package:stackwallet/utilities/constants.dart';
@@ -35,7 +36,7 @@ class TorSettingsView extends ConsumerStatefulWidget {
 }
 
 class _TorSettingsViewState extends ConsumerState<TorSettingsView> {
-  TorConnectionStatus _networkStatus = TorConnectionStatus.disconnected;
+  late TorConnectionStatus _networkStatus;
 
   Widget _buildTorIcon(TorConnectionStatus status) {
     switch (status) {
@@ -123,6 +124,9 @@ class _TorSettingsViewState extends ConsumerState<TorSettingsView> {
 
   @override
   void initState() {
+    _networkStatus = ref.read(pTorService).enabled
+        ? TorConnectionStatus.connected
+        : TorConnectionStatus.disconnected;
     super.initState();
   }
 
@@ -195,7 +199,7 @@ class _TorSettingsViewState extends ConsumerState<TorSettingsView> {
                   ),
                 ],
               ),
-              SizedBox(
+              const SizedBox(
                 height: 30,
               ),
               RoundedWhiteContainer(
@@ -213,7 +217,7 @@ class _TorSettingsViewState extends ConsumerState<TorSettingsView> {
                   ),
                 ),
               ),
-              SizedBox(
+              const SizedBox(
                 height: 8,
               ),
               RoundedWhiteContainer(
diff --git a/lib/pages_desktop_specific/settings/settings_menu/tor_settings/tor_settings.dart b/lib/pages_desktop_specific/settings/settings_menu/tor_settings/tor_settings.dart
index 95c798930..b95863768 100644
--- a/lib/pages_desktop_specific/settings/settings_menu/tor_settings/tor_settings.dart
+++ b/lib/pages_desktop_specific/settings/settings_menu/tor_settings/tor_settings.dart
@@ -21,7 +21,7 @@ import 'package:stackwallet/services/event_bus/global_event_bus.dart';
 import 'package:stackwallet/services/tor_service.dart';
 import 'package:stackwallet/themes/stack_colors.dart';
 import 'package:stackwallet/utilities/assets.dart';
-import 'package:stackwallet/utilities/prefs.dart';
+import 'package:stackwallet/utilities/logger.dart';
 import 'package:stackwallet/utilities/text_styles.dart';
 import 'package:stackwallet/utilities/util.dart';
 import 'package:stackwallet/widgets/custom_buttons/draggable_switch_button.dart';
@@ -40,9 +40,6 @@ class TorSettings extends ConsumerStatefulWidget {
 }
 
 class _TorSettingsState extends ConsumerState<TorSettings> {
-  // The Prefs instance.
-  final Prefs _prefs = Prefs.instance;
-
   /// The global event bus.
   EventBus eventBus = GlobalEventBus.instance;
 
@@ -51,8 +48,7 @@ class _TorSettingsState extends ConsumerState<TorSettings> {
       _torConnectionStatusSubscription;
 
   /// The current status of the Tor connection.
-  late TorConnectionStatus _torConnectionStatus =
-      TorConnectionStatus.disconnected;
+  late TorConnectionStatus _torConnectionStatus;
 
   /// Build the connect/disconnect button.
   Widget _buildConnectButton(TorConnectionStatus status) {
@@ -62,15 +58,22 @@ class _TorSettingsState extends ConsumerState<TorSettings> {
           label: "Connect to Tor",
           width: 200,
           buttonHeight: ButtonHeight.m,
-          onPressed: () {
-            // Toggle the useTor preference.
-            _prefs.useTor = true;
-
+          onPressed: () async {
             // Start the Tor service.
             ref.read(pTorService).init();
 
             // Start the Tor service.
-            ref.read(pTorService).start();
+            try {
+              await ref.read(pTorService).start();
+
+              // Toggle the useTor preference on success.
+              ref.read(prefsChangeNotifierProvider).useTor = true;
+            } catch (e, s) {
+              Logging.instance.log(
+                "Error starting tor: $e\n$s",
+                level: LogLevel.Error,
+              );
+            }
           },
         );
       case TorConnectionStatus.connecting:
@@ -87,12 +90,19 @@ class _TorSettingsState extends ConsumerState<TorSettings> {
           label: "Disconnect from Tor",
           width: 200,
           buttonHeight: ButtonHeight.m,
-          onPressed: () {
-            // Toggle the useTor preference.
-            _prefs.useTor = false;
-
+          onPressed: () async {
             // Stop the Tor service.
-            ref.read(pTorService).stop();
+            try {
+              await ref.read(pTorService).stop();
+
+              // Toggle the useTor preference on success.
+              ref.read(prefsChangeNotifierProvider).useTor = false;
+            } catch (e, s) {
+              Logging.instance.log(
+                "Error stopping tor: $e\n$s",
+                level: LogLevel.Error,
+              );
+            }
           },
         );
     }
@@ -198,63 +208,62 @@ class _TorSettingsState extends ConsumerState<TorSettings> {
                               recognizer: TapGestureRecognizer()
                                 ..onTap = () {
                                   showDialog<dynamic>(
-                                      context: context,
-                                      useSafeArea: false,
-                                      barrierDismissible: true,
-                                      builder: (context) {
-                                        return DesktopDialog(
-                                          maxWidth: 580,
-                                          maxHeight: double.infinity,
-                                          child: Column(
-                                            children: [
-                                              Row(
-                                                mainAxisAlignment:
-                                                    MainAxisAlignment.end,
+                                    context: context,
+                                    useSafeArea: false,
+                                    barrierDismissible: true,
+                                    builder: (context) {
+                                      return DesktopDialog(
+                                        maxWidth: 580,
+                                        maxHeight: double.infinity,
+                                        child: Column(
+                                          children: [
+                                            Row(
+                                              mainAxisAlignment:
+                                                  MainAxisAlignment.end,
+                                              children: [
+                                                DesktopDialogCloseButton(
+                                                  onPressedOverride: () =>
+                                                      Navigator.of(context)
+                                                          .pop(true),
+                                                ),
+                                              ],
+                                            ),
+                                            Padding(
+                                              padding: const EdgeInsets.all(20),
+                                              child: Column(
+                                                mainAxisSize: MainAxisSize.max,
                                                 children: [
-                                                  DesktopDialogCloseButton(
-                                                    onPressedOverride: () =>
-                                                        Navigator.of(context)
-                                                            .pop(true),
+                                                  Text(
+                                                    "What is Tor?",
+                                                    style:
+                                                        STextStyles.desktopH2(
+                                                            context),
+                                                  ),
+                                                  const SizedBox(
+                                                    height: 20,
+                                                  ),
+                                                  Text(
+                                                    "Short for \"The Onion Router\", is an open-source software that enables internet communication"
+                                                    " to remain anonymous by routing internet traffic through a series of layered nodes,"
+                                                    " to obscure the origin and destination of data.",
+                                                    style: STextStyles
+                                                            .desktopTextMedium(
+                                                                context)
+                                                        .copyWith(
+                                                      color: Theme.of(context)
+                                                          .extension<
+                                                              StackColors>()!
+                                                          .textDark3,
+                                                    ),
                                                   ),
                                                 ],
                                               ),
-                                              Padding(
-                                                padding:
-                                                    const EdgeInsets.all(20),
-                                                child: Column(
-                                                  mainAxisSize:
-                                                      MainAxisSize.max,
-                                                  children: [
-                                                    Text(
-                                                      "What is Tor?",
-                                                      style:
-                                                          STextStyles.desktopH2(
-                                                              context),
-                                                    ),
-                                                    const SizedBox(
-                                                      height: 20,
-                                                    ),
-                                                    Text(
-                                                      "Short for \"The Onion Router\", is an open-source software that enables internet communication"
-                                                      " to remain anonymous by routing internet traffic through a series of layered nodes,"
-                                                      " to obscure the origin and destination of data.",
-                                                      style: STextStyles
-                                                              .desktopTextMedium(
-                                                                  context)
-                                                          .copyWith(
-                                                        color: Theme.of(context)
-                                                            .extension<
-                                                                StackColors>()!
-                                                            .textDark3,
-                                                      ),
-                                                    ),
-                                                  ],
-                                                ),
-                                              ),
-                                            ],
-                                          ),
-                                        );
-                                      });
+                                            ),
+                                          ],
+                                        ),
+                                      );
+                                    },
+                                  );
                                 },
                             ),
                           ],
@@ -301,66 +310,64 @@ class _TorSettingsState extends ConsumerState<TorSettings> {
                                   recognizer: TapGestureRecognizer()
                                     ..onTap = () {
                                       showDialog<dynamic>(
-                                          context: context,
-                                          useSafeArea: false,
-                                          barrierDismissible: true,
-                                          builder: (context) {
-                                            return DesktopDialog(
-                                              maxWidth: 580,
-                                              maxHeight: double.infinity,
-                                              child: Column(
-                                                children: [
-                                                  Row(
-                                                    mainAxisAlignment:
-                                                        MainAxisAlignment.end,
+                                        context: context,
+                                        useSafeArea: false,
+                                        barrierDismissible: true,
+                                        builder: (context) {
+                                          return DesktopDialog(
+                                            maxWidth: 580,
+                                            maxHeight: double.infinity,
+                                            child: Column(
+                                              children: [
+                                                Row(
+                                                  mainAxisAlignment:
+                                                      MainAxisAlignment.end,
+                                                  children: [
+                                                    DesktopDialogCloseButton(
+                                                      onPressedOverride: () =>
+                                                          Navigator.of(context)
+                                                              .pop(true),
+                                                    ),
+                                                  ],
+                                                ),
+                                                Padding(
+                                                  padding:
+                                                      const EdgeInsets.all(20),
+                                                  child: Column(
+                                                    mainAxisSize:
+                                                        MainAxisSize.max,
                                                     children: [
-                                                      DesktopDialogCloseButton(
-                                                        onPressedOverride: () =>
-                                                            Navigator.of(
+                                                      Text(
+                                                        "What is Tor killswitch?",
+                                                        style: STextStyles
+                                                            .desktopH2(context),
+                                                      ),
+                                                      const SizedBox(
+                                                        height: 20,
+                                                      ),
+                                                      Text(
+                                                        "A security feature that protects your information from accidental exposure by"
+                                                        " disconnecting your device from the Tor network if your virtual private network (VPN)"
+                                                        " connection is disrupted or compromised.",
+                                                        style: STextStyles
+                                                                .desktopTextMedium(
                                                                     context)
-                                                                .pop(true),
+                                                            .copyWith(
+                                                          color: Theme.of(
+                                                                  context)
+                                                              .extension<
+                                                                  StackColors>()!
+                                                              .textDark3,
+                                                        ),
                                                       ),
                                                     ],
                                                   ),
-                                                  Padding(
-                                                    padding:
-                                                        const EdgeInsets.all(
-                                                            20),
-                                                    child: Column(
-                                                      mainAxisSize:
-                                                          MainAxisSize.max,
-                                                      children: [
-                                                        Text(
-                                                          "What is Tor killswitch?",
-                                                          style: STextStyles
-                                                              .desktopH2(
-                                                                  context),
-                                                        ),
-                                                        const SizedBox(
-                                                          height: 20,
-                                                        ),
-                                                        Text(
-                                                          "A security feature that protects your information from accidental exposure by"
-                                                          " disconnecting your device from the Tor network if your virtual private network (VPN)"
-                                                          " connection is disrupted or compromised.",
-                                                          style: STextStyles
-                                                                  .desktopTextMedium(
-                                                                      context)
-                                                              .copyWith(
-                                                            color: Theme.of(
-                                                                    context)
-                                                                .extension<
-                                                                    StackColors>()!
-                                                                .textDark3,
-                                                          ),
-                                                        ),
-                                                      ],
-                                                    ),
-                                                  ),
-                                                ],
-                                              ),
-                                            );
-                                          });
+                                                ),
+                                              ],
+                                            ),
+                                          );
+                                        },
+                                      );
                                     },
                                 ),
                               ],