diff --git a/src/main/scala/org/scadcop/solver/decentralized/mgm2/AgentBehaviour.scala b/src/main/scala/org/scadcop/solver/decentralized/mgm2/AgentBehaviour.scala
index 30e0934538c72ad1cc2dee683310c061d365f129..a09401236c9147707a32d6c9ecaf26e310142321 100755
--- a/src/main/scala/org/scadcop/solver/decentralized/mgm2/AgentBehaviour.scala
+++ b/src/main/scala/org/scadcop/solver/decentralized/mgm2/AgentBehaviour.scala
@@ -73,6 +73,11 @@ class AgentBehaviour(variable: Variable,
       stay using mind
     }
 
+    case Event(Reject(_), mind) => {
+      if (debug) println(s"$variable in $stateName has received Reject and ignores it")
+      stay using mind
+    }
+
     case Event(InformDelta(_), mind) => {
       if (debug) println(s"$variable in $stateName has received InformDelta and stashed it")
       stash
@@ -253,6 +258,12 @@ class AgentBehaviour(variable: Variable,
   */
   when(ReceiverWaitingValues) {
 
+    case Event(InformDelta(_), mind) => {
+      if (debug) println(s"$variable in $stateName has received InformDelta and stashes it")
+      stash
+      stay using mind
+    }
+
         // When it receives a reject it does NOTHING
     case Event(Reject(_), mind) =>
       if (debug) println(s"$variable in $stateName has received Reject and ignores it")
@@ -365,7 +376,7 @@ class AgentBehaviour(variable: Variable,
   when(Committed) {
 
     //when it receives its partner's giveGo
-    case Event(GiveGo, mind) => {
+    case Event(GiveGo(_), mind) => {
       if (debug) println(s"$variable in $stateName has received GiveGo and stashes it")
       stash
       stay using mind