--- opensync_mapping_engine.c.orig	2009-03-30 20:33:18.000000000 +0200
+++ opensync_mapping_engine.c	2009-03-31 12:19:55.000000000 +0200
@@ -581,6 +581,12 @@ osync_bool osync_mapping_engine_solve(OS
 	osync_trace(TRACE_ENTRY, "%s(%p, %p)", __func__, engine, change);
 	
 	entry = _osync_mapping_engine_find_entry(engine, change);
+
+	if (!entry) {
+		osync_trace(TRACE_ERROR, "%s(): ERROR: _osync_mapping_engine_find_entry() didn't find any entry. engine = %p, change = %p", __func__, engine, change);
+		goto error;
+	}
+
 	engine->conflict = FALSE;
 	osync_mapping_engine_set_master(engine, entry);
 	osync_status_update_mapping(engine->parent->parent, engine, OSYNC_ENGINE_MAPPING_EVENT_SOLVED, NULL);

