diff --git a/communication.c b/communication.c
index e429d15..6db6858 100644
--- a/communication.c
+++ b/communication.c
@@ -369,12 +369,20 @@
 			/* Don't use this old counter */
 			old++;
 		} else {
-			if (cc->type == CNT_INCR) {
-				new->pcnt = old->pcnt + next->cnt_surplus.pcnt;
-				new->bcnt = old->bcnt + next->cnt_surplus.bcnt;
-			} else if (cc->type == CNT_DECR) {
-				new->pcnt = old->pcnt - next->cnt_surplus.pcnt;
-				new->bcnt = old->bcnt - next->cnt_surplus.bcnt;
+			if (cc->type == CNT_CHANGE) {
+				new->pcnt = old->pcnt;
+				if (cc->change % 3 == 1)
+					new->pcnt = old->pcnt + next->cnt_surplus.pcnt;
+				else if (cc->change % 3 == 2)
+					new->pcnt = old->pcnt - next->cnt_surplus.pcnt;
+				else
+					new->pcnt = next->cnt.pcnt;
+				if (cc->change / 3 == 1)
+					new->bcnt = old->bcnt + next->cnt_surplus.bcnt;
+				else if (cc->change / 3 == 2)
+					new->bcnt = old->bcnt - next->cnt_surplus.bcnt;
+				else
+					new->bcnt = next->cnt.bcnt;
 			} else
 				*new = next->cnt;
 			next->cnt = *new;
@@ -415,6 +423,7 @@
 	cc = u_repl->counterchanges;
 	for (i = 0; i < u_repl->nentries; i++) {
 		cc->type = CNT_NORM;
+		cc->change = 0;
 		cc3 = &cc->next;
 		cc = cc->next;
 	}
@@ -513,6 +522,7 @@
 		if (*totalcnt >= u_repl->nentries)
 			ebt_print_bug("*totalcnt >= u_repl->nentries");
 		new->cnt = u_repl->counters[*totalcnt];
+		new->cnt_surplus.pcnt = new->cnt_surplus.bcnt = 0;
 		new->m_list = NULL;
 		new->w_list = NULL;
 		new->next = NULL;
@@ -792,6 +802,7 @@
 		if (!new_cc)
 			ebt_print_memory();
 		new_cc->type = CNT_NORM;
+		new_cc->change = 0;
 		new_cc->next = NULL;
 		*prev_cc = new_cc;
 		prev_cc = &(new_cc->next);
