diff -Naur zabbix-1.8.2.orig/src/zabbix_sender/zabbix_sender.c zabbix-1.8.2/src/zabbix_sender/zabbix_sender.c
--- zabbix-1.8.2.orig/src/zabbix_sender/zabbix_sender.c	2010-03-29 19:22:43.000000000 +0200
+++ zabbix-1.8.2/src/zabbix_sender/zabbix_sender.c	2010-06-10 18:29:17.000000000 +0200
@@ -573,9 +573,8 @@
 
 	zbx_json_free(&sentdval_args.json);
 
-	if (SUCCEED == ret)
-		printf("sent: %d; skipped: %d; total: %d\n", succeed_count, (total_count - succeed_count), total_count);
-	else
+	printf("sent: %d; skipped: %d; total: %d\n", succeed_count, (total_count - succeed_count), total_count);
+	if (SUCCEED != ret)
 		printf("Sending failed. Use option -vv for more detailed output.\n");
 exit:
 	zabbix_close_log();
diff -Naur zabbix-1.8.2.orig/src/zabbix_server/trapper/trapper.c zabbix-1.8.2/src/zabbix_server/trapper/trapper.c
--- zabbix-1.8.2.orig/src/zabbix_server/trapper/trapper.c	2010-03-29 19:22:44.000000000 +0200
+++ zabbix-1.8.2/src/zabbix_server/trapper/trapper.c	2010-06-10 17:53:11.000000000 +0200
@@ -404,6 +404,9 @@
 			total_num,
 			zbx_time() - sec);
 
+	if (total_num != processed)
+		ret = FAIL;
+
 	alarm(CONFIG_TIMEOUT);
 	if (send_result(sock, ret, info) != SUCCEED)
 	{
