diff --git a/src/wallet/test/wallet_test_fixture.h b/src/wallet/test/wallet_test_fixture.h
--- a/src/wallet/test/wallet_test_fixture.h
+++ b/src/wallet/test/wallet_test_fixture.h
@@ -21,6 +21,7 @@
 struct WalletTestingSetup : public TestingSetup {
     explicit WalletTestingSetup(
         const std::string &chainName = CBaseChainParams::MAIN);
+    ~WalletTestingSetup();
 
     std::unique_ptr<interfaces::Chain> m_chain;
     std::unique_ptr<interfaces::WalletClient> m_wallet_client =
diff --git a/src/wallet/test/wallet_test_fixture.cpp b/src/wallet/test/wallet_test_fixture.cpp
--- a/src/wallet/test/wallet_test_fixture.cpp
+++ b/src/wallet/test/wallet_test_fixture.cpp
@@ -17,3 +17,8 @@
         m_chain->handleNotifications({&m_wallet, [](CWallet *) {}});
     m_wallet_client->registerRpcs();
 }
+
+WalletTestingSetup::~WalletTestingSetup() {
+    SyncWithValidationInterfaceQueue();
+    m_chain_notifications_handler.reset();
+}