diff -urN evolution-exchange-2.8.3.orig/addressbook/e-book-backend-gal.c evolution-exchange-2.8.3/addressbook/e-book-backend-gal.c
--- evolution-exchange-2.8.3.orig/addressbook/e-book-backend-gal.c	2007-03-14 12:01:44.000000000 +0100
+++ evolution-exchange-2.8.3/addressbook/e-book-backend-gal.c	2007-03-14 15:22:42.000000000 +0100
@@ -326,7 +326,12 @@
 	EBookBackendGAL *bl = E_BOOK_BACKEND_GAL (backend);
 
 	g_static_rec_mutex_lock (&bl->priv->op_hash_mutex);
-	g_hash_table_remove (bl->priv->id_to_op, &op->id);
+	if (!g_hash_table_remove (bl->priv->id_to_op, &op->id))
+	{
+		g_warning ("missing ldap msgid");
+		g_static_rec_mutex_unlock (&bl->priv->op_hash_mutex);
+		return;
+	}
 
 	/* should handle errors here */
 	g_mutex_lock (bl->priv->ldap_lock);
