diff --git a/friendica-non-follower-featured-posts.sh b/friendica-non-follower-featured-posts.sh
index 34767d0..c1fb720 100755
--- a/friendica-non-follower-featured-posts.sh
+++ b/friendica-non-follower-featured-posts.sh
@@ -22,10 +22,9 @@ printf "\rContactDiscovery\t%s\n\r" "${cbmax}"
 cc=100
 ccmax=0
 while [[ ${cc} -gt 0 ]]; do
-	cc=$(sudo mariadb friendica -B -N -q -e "create temporary table tmp_fetchfeaturedposts (select \`url\` from \`contact\` where \`id\` not in (select \`contact-id\` from \`group_member\`) and \`id\` not in (select \`cid\` from \`user-contact\`) and \`id\` not in (select \`uid\` from \`user\`)); delete from workerqueue where regexp_replace(substring_index(substring_index(\`parameter\`, '\\\"', -2), '\\\"', 1), '\\\\\\\\', '') in (select \`url\` from tmp_fetchfeaturedposts) and \`command\` = \"FetchFeaturedPosts\" limit ${cc}; select row_count();")
+	cc=$(sudo mariadb friendica -B -N -q -e "create temporary table tmp_fetchfeaturedposts (select \`url\` from \`contact\` where \`id\` in (select \`contact-id\` from \`group_member\`) or \`id\` in (select \`cid\` from \`user-contact\`) or \`id\` in (select \`uid\` from \`user\`)); delete from workerqueue where \`command\`= \"FetchFeaturedPosts\" and regexp_replace(substring_index(substring_index(\`parameter\`, '\\\"', -2), '\\\"', 1), '\\\\\\\\', '') not in (select \`url\` from tmp_fetchfeaturedposts) limit ${cc}; select row_count();")
 	ccmax=$((ccmax + cc))
 	printf "\rFetchFeaturedPosts\t%s\r" "${ccmax}"
-
 done
 printf "\rFetchFeaturedPosts\t%s\n\r" "${ccmax}"
 #echo "FetchFeaturedPosts $ccmax"
@@ -33,7 +32,7 @@ printf "\rFetchFeaturedPosts\t%s\n\r" "${ccmax}"
 cd=100
 cdmax=0
 while [[ ${cd} -gt 0 ]]; do
-	cd=$(sudo mariadb friendica -B -N -q -e "create temporary table tmp_updategserver (select \`url\` from \`contact\` where \`id\` not in (select \`contact-id\` from \`group_member\`) and \`id\` not in (select \`cid\` from \`user-contact\`) and \`id\` not in (select \`uid\` from \`user\`)); delete from workerqueue where regexp_replace(substring_index(substring_index(\`parameter\`, '\\\"', -2), '\\\"', 1), '\\\\\\\\', '') in (select \`url\` from tmp_updategserver) and \`command\` = \"UpdateGServer\" limit ${cd}; select row_count();")
+	cd=$(sudo mariadb friendica -B -N -q -e "create temporary table tmp_updategserver (select \`url\` from \`contact\` where \`id\` in (select \`contact-id\` from \`group_member\`) or \`id\` in (select \`cid\` from \`user-contact\`) or \`id\` in (select \`uid\` from \`user\`)); delete from workerqueue where \`command\` = \"UpdateGServer\" and regexp_replace(substring_index(substring_index(\`parameter\`, '\\\"', -2), '\\\"', 1), '\\\\\\\\', '') not in (select \`url\` from tmp_updategserver) limit ${cd}; select row_count();")
 	cdmax=$((cdmax + cd))
 	printf "\rUpdateGServer\t\t%s\r" "${cdmax}"
 done
@@ -49,3 +48,13 @@ while [[ ${ce} -gt 0 ]]; do
 done
 printf "\rProcessQueue\t\t%s\n\r" "${cemax}"
 #echo "ProcessQueue       $cemax"
+
+cf=100
+cfmax=0
+while [[ ${cf} -gt 0 ]]; do
+	cf=$(sudo mariadb friendica -B -N -q -e "delete from workerqueue where \`id\` in (select distinct w2.\`id\` from workerqueue w1 inner join workerqueue w2 where w1.\`id\` > w2.\`id\` and w1.parameter = w2.parameter and w1.command = \"UpdateContact\" and w1.done = 0) limit ${ce}; select row_count();")
+	cfmax=$((cfmax + cf))
+	printf "\rWorkerQueue\t\t%s\r" "${cfmax}"
+done
+printf "\rWorkerQueue\t\t%s\n\r" "${cfmax}"
+#echo "WorkerQueue       $cfmax"