diff --git a/src/main/java/com/sparrowwallet/sparrow/wallet/ReceiveController.java b/src/main/java/com/sparrowwallet/sparrow/wallet/ReceiveController.java
index a6333d75..3bf26f13 100644
--- a/src/main/java/com/sparrowwallet/sparrow/wallet/ReceiveController.java
+++ b/src/main/java/com/sparrowwallet/sparrow/wallet/ReceiveController.java
@@ -304,4 +304,9 @@ public class ReceiveController extends WalletFormController implements Initializ
     public void usbDevicesFound(UsbDeviceEvent event) {
         updateDisplayAddress(event.getDevices());
     }
+
+    @Subscribe
+    public void connection(ConnectionEvent event) {
+        updateLastUsed();
+    }
 }
\ No newline at end of file
diff --git a/src/main/java/com/sparrowwallet/sparrow/wallet/SendController.java b/src/main/java/com/sparrowwallet/sparrow/wallet/SendController.java
index f222924f..a786a5af 100644
--- a/src/main/java/com/sparrowwallet/sparrow/wallet/SendController.java
+++ b/src/main/java/com/sparrowwallet/sparrow/wallet/SendController.java
@@ -478,6 +478,10 @@ public class SendController extends WalletFormController implements Initializabl
     }
 
     public void updateTransaction(List<Payment> transactionPayments) {
+        if(walletTransactionService != null && walletTransactionService.isRunning()) {
+            walletTransactionService.cancel();
+        }
+
         try {
             List<Payment> payments = transactionPayments != null ? transactionPayments : getPayments();
             if(!userFeeSet.get() || (getFeeValueSats() != null && getFeeValueSats() > 0)) {
@@ -489,10 +493,6 @@ public class SendController extends WalletFormController implements Initializabl
                 boolean includeMempoolOutputs = Config.get().isIncludeMempoolOutputs();
                 boolean includeSpentMempoolOutputs = includeSpentMempoolOutputsProperty.get();
 
-                if(walletTransactionService != null && walletTransactionService.isRunning()) {
-                    walletTransactionService.cancel();
-                }
-
                 walletTransactionService = new WalletTransactionService(wallet, getUtxoSelectors(), getUtxoFilters(), payments, feeRate, getMinimumFeeRate(), userFee, currentBlockHeight, groupByAddress, includeMempoolOutputs, includeSpentMempoolOutputs);
                 walletTransactionService.setOnSucceeded(event -> {
                     walletTransactionProperty.setValue(walletTransactionService.getValue());