diff --git a/briar-core/src/org/briarproject/sync/ValidationManagerImpl.java b/briar-core/src/org/briarproject/sync/ValidationManagerImpl.java
index c83ee44793720cad9705c90f6bde60cb896bc949..2d4e716a62974ee07f81e3578baeb9e0bbee8a79 100644
--- a/briar-core/src/org/briarproject/sync/ValidationManagerImpl.java
+++ b/briar-core/src/org/briarproject/sync/ValidationManagerImpl.java
@@ -339,9 +339,9 @@ class ValidationManagerImpl implements ValidationManager, Service,
 
 	private boolean deliverMessage(Transaction txn, Message m, ClientId c,
 			Metadata meta) throws DbException {
+		// Deliver the message to the client if it's registered a hook
 		IncomingMessageHook hook = hooks.get(c);
-		if (hook == null) throw new DbException();
-		hook.incomingMessage(txn, m, meta);
+		if (hook != null) hook.incomingMessage(txn, m, meta);
 		// TODO: Find a better way for clients to signal validity, #643
 		if (db.getRawMessage(txn, m.getId()) == null) {
 			db.setMessageState(txn, m.getId(), INVALID);