diff --git a/addressbook/libedata-book/e-book-backend-sqlitedb.c b/addressbook/libedata-book/e-book-backend-sqlitedb.c
index 0a1ba71..b5c7428 100644
--- a/addressbook/libedata-book/e-book-backend-sqlitedb.c
+++ b/addressbook/libedata-book/e-book-backend-sqlitedb.c
@@ -3364,7 +3366,7 @@ convert_match_exp (struct _ESExp *f,
 				if (is_list) {
 					gchar *tmp;
 
-					tmp = sqlite3_mprintf ("summary.uid = multi.uid AND multi.field = %Q", field);
+					tmp = sqlite3_mprintf ("multi.field = %Q", field);
 					str = g_strdup_printf (
 						"(%s AND (%s %s %s%s))",
 						tmp, field_name, oper, query_term,
@@ -3615,7 +3617,7 @@ book_backend_sqlitedb_search_query (EBookBackendSqliteDB *ebsdb,
 
 				stmt = sqlite3_mprintf (
 					"SELECT DISTINCT summary.uid, vcard, bdata "
-					"FROM %Q AS summary, %Q AS multi WHERE %s",
+					"FROM %Q AS summary LEFT OUTER JOIN %Q AS multi ON summary.uid = multi.uid WHERE %s",
 					folderid, list_table, sql);
 				g_free (list_table);
 			} else {
