diff --git a/src/database/find.c b/src/database/find.c
index 0d09857f507e3e7233ac2d07b35aff699cfa84b2..5fbc5c468dbafa856317a81d3ea71a4b0c26f522 100644
--- a/src/database/find.c
+++ b/src/database/find.c
@@ -61,11 +61,11 @@ database_search_sticker_init(volatile sqlite3 *db, struct lkt_search *ret)
         sprintf(SQL + strlen(SQL), " AND sts.value %s %d",
                 ret->st_op == '>' ? ">=" : ret->st_op == '<' ? "<=" : "=",
                 ret->st_value);
-    strcat(SQL, ret->name ? " AND name = ?;" : ";");
-    if (ret->name)
-        SQLITE_BIND_TEXT(db, ret->stmt, 1, ret->name, error);
+    strcat(SQL, !ret->name ? ";" : " AND name = ?;");
 
     SQLITE_PREPARE(db, ret->stmt, SQL, error);
+    if (ret->name)
+        SQLITE_BIND_TEXT(db, ret->stmt, 1, ret->name, error);
     return true;
 error:
     sqlite3_finalize(ret->stmt);