diff --git a/src/main/scala/org/scadcop/solver/decentralized/agent/VariableAgent.scala b/src/main/scala/org/scadcop/solver/decentralized/agent/VariableAgent.scala
index 5c76167e083504eaef0edce53351e161189f7a64..89f8bbf100b1416403ebf7ebd01b44f13ee40b1c 100644
--- a/src/main/scala/org/scadcop/solver/decentralized/agent/VariableAgent.scala
+++ b/src/main/scala/org/scadcop/solver/decentralized/agent/VariableAgent.scala
@@ -23,7 +23,7 @@ abstract class VariableAgent(val variable: Variable,
                              val constraints: Set[Constraint]) extends Actor {
   var trace: Boolean = false
   var debug: Boolean = false
-  var debugState: Boolean = true
+  var debugState: Boolean = false
 
   var supervisor: ActorRef = context.parent
   var directory: Directory = new Directory()
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 ead4194ae85c2504dd91c6f0f766df48e36d0871..8e81a91e64decc31572477482d65945549535eb4 100644
--- a/src/main/scala/org/scadcop/solver/decentralized/mgm2/AgentBehaviour.scala
+++ b/src/main/scala/org/scadcop/solver/decentralized/mgm2/AgentBehaviour.scala
@@ -414,7 +414,7 @@ class AgentBehaviour(variable: Variable,
     case Event(Act(true, None), mind) =>
     if (debug) println(s"$variable in $stateName has received Act(true) but has no move")
     if (trace) println(s"$variable -> Supervisor : I kept my previous value = InformValue(${mind.context.getValue(variable).get})")
-    supervisor ! InformValue(updatedMind.context.getValue(variable).get)
+    supervisor ! InformValue(mind.context.getValue(variable).get)
     goto(Continue) using mind
     
     // When it should not act because it does not have the highest delta in the neighbourhood
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 16289b6137f6e81271d085e6a4bfa9d3c08e3a38..b85c71d5179dabbe964c4d1c26422b4f45507c7f 100644
--- a/src/main/scala/org/scadcop/solver/decentralized/supervisor/Supervisor.scala
+++ b/src/main/scala/org/scadcop/solver/decentralized/supervisor/Supervisor.scala
@@ -15,8 +15,8 @@ import akka.actor.{Actor, ActorRef, FSM, Props, Stash, PoisonPill}
 class Supervisor(val pb : DCOP, val algorithm: Algorithm) extends Actor with Stash
     with FSM[SupervisorState, SupervisorStatus] {
 
-  var debug = true
-  var debugState = true
+  var debug = false
+  var debugState = false
   var trace = false
 
   var solver: ActorRef = context.parent // Reference to the distributed solver
@@ -162,7 +162,7 @@ class Supervisor(val pb : DCOP, val algorithm: Algorithm) extends Actor with Sta
     //when it receives its own decison that it should continue
     case Event(ContinueAlgo, status) => {
       val newStatus: SupervisorStatus = status.resetContext()
-      unstashall
+      unstashAll
       goto(RunningSupervisorState) using newStatus
     }
 
@@ -246,3 +246,12 @@ class Supervisor(val pb : DCOP, val algorithm: Algorithm) extends Actor with Sta
   initialize()
 }
 
+object Supervisor {
+  var counter = 0
+  val NB_ROUNDS = 2
+
+  def incrementCounter() : Int = {
+    counter = counter + 1
+    counter
+  }
+}
diff --git a/src/main/scala/org/scadcop/solver/decentralized/supervisor/SupervisorStatus.scala b/src/main/scala/org/scadcop/solver/decentralized/supervisor/SupervisorStatus.scala
index 5ad8423a8fca760509357099bb9e6838edb05092..2e44305b0b2d807febd5d7bfb9e8e931d2362301 100644
--- a/src/main/scala/org/scadcop/solver/decentralized/supervisor/SupervisorStatus.scala
+++ b/src/main/scala/org/scadcop/solver/decentralized/supervisor/SupervisorStatus.scala
@@ -40,16 +40,18 @@ class SupervisorStatus(val readyVariables: Set[Variable] = Set(),
     * Returns true if the algorithm ends
     * @todo modify it
     */
-  def isTerminated : Boolean = ! isFirstRound
+  def isTerminated : Boolean = Supervisor.incrementCounter() == Supervisor.NB_ROUNDS
 
   /*Returns the updated supervisor's status when resetting the context*/
-  def resetContext(): SupervisorStatus {
+  def resetContext(): SupervisorStatus = {
     new SupervisorStatus(readyVariables,
-                       inactiveVariables = Set(),
-                       killedVariables,
-                       assignment new Context(),
-                       metric,
-                       isFirstRound
-                      )
+      inactiveVariables = Set(),
+      killedVariables,
+      assignment = new Context(),
+      metric,
+      isFirstRound
+    )
   }
 }
+
+