diff --git a/addons/account/models/account_payment.py b/addons/account/models/account_payment.py
index 460b8bfb3dcca7f57e85db86a22c7b8ff9bde341..3805f5fc803d2c272d8ce21990d1681e21537ced 100644
--- a/addons/account/models/account_payment.py
+++ b/addons/account/models/account_payment.py
@@ -472,9 +472,11 @@ class AccountPayment(models.Model):
             self.reconciled_statements_count = 0
             return
 
-        self.env['account.move'].flush()
-        self.env['account.move.line'].flush()
-        self.env['account.partial.reconcile'].flush()
+        self.env['account.journal'].flush(fnames=['payment_debit_account_id', 'payment_credit_account_id'])
+        self.env['account.payment'].flush(fnames=['move_id'])
+        self.env['account.move'].flush(fnames=['move_type', 'payment_id', 'statement_line_id', 'journal_id'])
+        self.env['account.move.line'].flush(fnames=['move_id', 'account_id', 'statement_line_id'])
+        self.env['account.partial.reconcile'].flush(fnames=['debit_move_id', 'credit_move_id'])
 
         self._cr.execute('''
             SELECT