diff --git a/src/main/java/fucoin/actions/aggregation/ActionAggregationCancel.java b/src/main/java/fucoin/actions/aggregation/ActionAggregationCancel.java
index 49e4478508b5ed7313d5ac019736c43401ce7d81..f0b831bc024ffe071d7b60000f3b5c48b3a60f0c 100644
--- a/src/main/java/fucoin/actions/aggregation/ActionAggregationCancel.java
+++ b/src/main/java/fucoin/actions/aggregation/ActionAggregationCancel.java
@@ -32,10 +32,14 @@ public class ActionAggregationCancel extends ActionAggregation {
 		if (isDone()) {
 			wallet.addExcludedNeighbor(sender);
 		}
-		if (!wallet.areAllNeighborsExcluded()) {
+		AggregationContext aggregationContext = wallet.getAggregationContext();
+		if (!wallet.areAllNeighborsExcluded() && !aggregationContext
+				.isDone()) {
 			continueAggregation(wallet);
+		} else if (aggregationContext.isDone() && !wallet.areAllNeighborsExcluded()) {
+			sendEndMessage(wallet);
 		} else if (wallet.hasAggregationContext()) {
-			sendAggregatedResult(wallet, wallet.getAggregationContext());
+			sendAggregatedResult(wallet, aggregationContext);
 			sendEndMessage(wallet);
 		}
 	}
diff --git a/src/main/java/fucoin/wallet/WalletImpl.java b/src/main/java/fucoin/wallet/WalletImpl.java
index 613f3952e00996d47d6626c3a1b5fe670f285850..9afc7d3533cb1fe9fb715f2fb9759c04a775cbf5 100644
--- a/src/main/java/fucoin/wallet/WalletImpl.java
+++ b/src/main/java/fucoin/wallet/WalletImpl.java
@@ -11,6 +11,7 @@ import akka.actor.ActorRef;
 import akka.actor.Props;
 import fucoin.actions.ClientAction;
 import fucoin.actions.aggregation.AggregationContext;
+import fucoin.actions.aggregation.AggregationContext.AggregationContextBuilder;
 import fucoin.actions.join.ActionJoin;
 import fucoin.actions.join.ActionJoinAnswer;
 import fucoin.actions.join.ActionTellSupervisor;
@@ -29,7 +30,7 @@ public class WalletImpl extends AbstractWallet {
     private transient WalletGuiControl gui;
     private String preKnownNeighbourName;
     private boolean isActive;
-	private AggregationContext aggregationContext;
+	private AggregationContext aggregationContext = new AggregationContextBuilder(null, null, amount).build();
 	private boolean hasPendingAggregationRequest = false;
     private ConcurrentLinkedQueue<ActorRef> deferedSupervisorReceivers = new ConcurrentLinkedQueue<>();
 	private transient final EvictingQueue<UUID> handledAggregationRequests = EvictingQueue.create(10);