diff --git a/briar-core/src/org/briarproject/sync/ValidationManagerImpl.java b/briar-core/src/org/briarproject/sync/ValidationManagerImpl.java
index e075f341f58a4633d5f45223a57af96c659a4573..85f383bae4372b7cfdad2e91515b4e1df94e6a1e 100644
--- a/briar-core/src/org/briarproject/sync/ValidationManagerImpl.java
+++ b/briar-core/src/org/briarproject/sync/ValidationManagerImpl.java
@@ -135,11 +135,11 @@ class ValidationManagerImpl implements ValidationManager, Service,
 						if (meta == null) {
 							db.setMessageValid(txn, m, c, false);
 						} else {
-							for (ValidationHook hook : hooks)
-								hook.validatingMessage(txn, m, c, meta);
 							db.mergeMessageMetadata(txn, m.getId(), meta);
 							db.setMessageValid(txn, m, c, true);
 							db.setMessageShared(txn, m, true);
+							for (ValidationHook hook : hooks)
+								hook.validatingMessage(txn, m, c, meta);
 						}
 						txn.setComplete();
 					} finally {