shared/gatt-client: Fix removing services from pending list

We should remove from pending list service which was just processed,
not the one that has just started being processed.
diff --git a/src/shared/gatt-client.c b/src/shared/gatt-client.c
index e1d489d..f0850e0 100644
--- a/src/shared/gatt-client.c
+++ b/src/shared/gatt-client.c
@@ -591,10 +591,13 @@
 		/* Adjust current service */
 		svc = gatt_db_get_service(client->db, chrc_data->value_handle);
 		if (op->cur_svc != svc) {
-			queue_remove(op->pending_svcs, svc);
+			if (op->cur_svc) {
+				queue_remove(op->pending_svcs, op->cur_svc);
 
-			/* Done with the current service */
-			gatt_db_service_set_active(op->cur_svc, true);
+				/* Done with the current service */
+				gatt_db_service_set_active(op->cur_svc, true);
+			}
+
 			op->cur_svc = svc;
 		}