diff --git a/doc/report/figures/fsm/full_mgm2_agent.gv b/doc/report/figures/fsm/full_mgm2_agent.gv
index dd386847d1f0dba8ce71aef250b796aab82c234f..ab51fc721ba78d56163d2f2c33a00cdb3cbd59ac 100644
--- a/doc/report/figures/fsm/full_mgm2_agent.gv
+++ b/doc/report/figures/fsm/full_mgm2_agent.gv
@@ -117,6 +117,10 @@ digraph finite_state_machine {
 
     ReceiverWaitingValues -> ReceiverWaitingValues [label = "neighbour : Reject(someOffer) =>
     Nothing
+    "];
+
+     ReceiverWaitingOffers -> ReceiverWaitingOffers [label = "neighbour : Reject(someOffer) =>
+    Nothing
     "];
 
       /*Receives a neighbour's delta*/
diff --git a/doc/report/figures/fsm/full_mgm2_agent.png b/doc/report/figures/fsm/full_mgm2_agent.png
index 30fd59c4c55f992e46077139a8f277b8b01480f0..c3d4970f298059679c50ff81f622743f83fb8fe0 100644
Binary files a/doc/report/figures/fsm/full_mgm2_agent.png and b/doc/report/figures/fsm/full_mgm2_agent.png differ
diff --git a/doc/report/figures/fsm/receiver.gv b/doc/report/figures/fsm/receiver.gv
index 3a58ddfeefc466548e2669cdeb424ed69bdd1782..66be507d451cd7e4f494c8b9b468896523527dd0 100644
--- a/doc/report/figures/fsm/receiver.gv
+++ b/doc/report/figures/fsm/receiver.gv
@@ -75,6 +75,10 @@ digraph finite_state_machine {
     Nothing
     "];
 
+    ReceiverWaitingOffers -> ReceiverWaitingOffers [label = "neighbour : Reject(someOffer) =>
+    Nothing
+    "];
+
 
     /*RECEIVER ALL OFFERS RECEIVED*/
 
diff --git a/doc/report/figures/fsm/receiver.png b/doc/report/figures/fsm/receiver.png
index 84bb74732fe477f05a0bb481cf163bcdf0704cb8..b7ecbca0082ccf3cc4d05ab5926b2ea04776fd0e 100644
Binary files a/doc/report/figures/fsm/receiver.png and b/doc/report/figures/fsm/receiver.png differ
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 6ddc40c3e41687f0922f7a2f93410e6df17814e1..e1904d3aee79259f7b0526d4fecb3c1ecb1b9a5e 100644
--- a/src/main/scala/org/scadcop/solver/decentralized/mgm2/AgentBehaviour.scala
+++ b/src/main/scala/org/scadcop/solver/decentralized/mgm2/AgentBehaviour.scala
@@ -261,6 +261,10 @@ class AgentBehaviour(variable: Variable,
   * Either the agent is in the ReceiverWaitingOffers state
   */
   when(ReceiverWaitingOffers) {
+
+    case Event(Reject(_), mind) => {
+      stay using mind
+    }
     
     // When offers are still missing
      case Event(MakeOffer(eventualOffer), mind) if mind.nbReceivedOffers < neighbours.size-1 =>
diff --git a/src/main/scala/org/scadcop/solver/decentralized/supervisor/Supervisor.scala b/src/main/scala/org/scadcop/solver/decentralized/supervisor/Supervisor.scala
index e0e4e5ce0f8a4d1afa4a29af6f6ab544830ba90e..2593c5806333191d321968cce13f2bcf05db0872 100644
--- a/src/main/scala/org/scadcop/solver/decentralized/supervisor/Supervisor.scala
+++ b/src/main/scala/org/scadcop/solver/decentralized/supervisor/Supervisor.scala
@@ -249,7 +249,7 @@ class Supervisor(val pb : DCOP, val algorithm: Algorithm) extends Actor with Sta
 
 object Supervisor {
   var counter = 0
-  val NB_ROUNDS = 2
+  val NB_ROUNDS = 10
 
   def incrementCounter() : Int = {
     counter = counter + 1