diff --git a/electrum/gui/qml/qedaemon.py b/electrum/gui/qml/qedaemon.py
index 429d9ace2..4cf24b6b0 100644
--- a/electrum/gui/qml/qedaemon.py
+++ b/electrum/gui/qml/qedaemon.py
@@ -149,7 +149,9 @@ class QEDaemon(AuthMixin, QObject):
                 if self.daemon.config.get('single_password'):
                     self._use_single_password = self.daemon.update_password_for_directory(old_password=password, new_password=password)
                     self._password = password
-                self._logger.info(f'use single password: {self._use_single_password}')
+                    self._logger.info(f'use single password: {self._use_single_password}')
+                else:
+                    self._logger.info('use single password disabled by config')
 
                 self.daemon.config.save_last_wallet(wallet)
             else:
diff --git a/electrum/gui/qml/qewalletdb.py b/electrum/gui/qml/qewalletdb.py
index d97a57f50..ee6f647a5 100644
--- a/electrum/gui/qml/qewalletdb.py
+++ b/electrum/gui/qml/qewalletdb.py
@@ -198,8 +198,12 @@ class QEWalletDB(QObject):
                 derivation = normalize_bip32_derivation(data['derivation_path'])
                 script = data['script_type'] if data['script_type'] != 'p2pkh' else 'standard'
                 k = keystore.from_bip43_rootseed(root_seed, derivation, xtype=script)
+            else:
+                raise Exception('unsupported/unknown seed_type %s' % data['seed_type'])
 
             if data['encrypt']:
+                if k.may_have_password():
+                    k.update_password(None, data['password'])
                 storage.set_password(data['password'], enc_version=StorageEncryptionVersion.USER_PASSWORD)
 
             db = WalletDB('', manual_upgrades=False)
@@ -209,7 +213,7 @@ class QEWalletDB(QObject):
             db.put('seed_type', data['seed_type'])
             db.put('keystore', k.dump())
             if k.can_have_deterministic_lightning_xprv():
-                db.put('lightning_xprv', k.get_lightning_xprv(None))
+                db.put('lightning_xprv', k.get_lightning_xprv(data['password'] if data['encrypt'] else None))
 
             db.load_plugins()
             db.write(storage)