diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py
index 8ac78212d0a30d62672359b6a218d3de53e64eeb..0613e5fa197b7bf807c89d6efd7185eb9bb04ad6 100644
--- a/addons/account/account_move_line.py
+++ b/addons/account/account_move_line.py
@@ -1197,7 +1197,7 @@ class account_move_line(osv.osv):
             if journal.centralisation:
                 self._check_moves(cr, uid, context=ctx)
         result = super(account_move_line, self).write(cr, uid, ids, vals, context)
-        if check:
+        if check and not context.get('novalidate'):
             done = []
             for line in self.browse(cr, uid, ids):
                 if line.move_id.id not in done: