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 fdb54478f53f440eef934e78fdcade7d47ace97f..fb92fb1e801177f7da1714a944af5594cae21175 100755
--- a/src/main/scala/org/scadcop/solver/decentralized/agent/VariableAgent.scala
+++ b/src/main/scala/org/scadcop/solver/decentralized/agent/VariableAgent.scala
@@ -21,9 +21,9 @@ import scala.language.postfixOps
 abstract class VariableAgent(val variable: Variable,
                              val neighbours : Set[Variable],
                              val constraints: Set[Constraint]) extends Actor {
-  var trace: Boolean = true
-  var debug: Boolean = true
-  var debugState: Boolean = true
+  var trace: Boolean = false
+  var debug: Boolean = false
+  var debugState: Boolean = false
 
   var supervisor: ActorRef = context.parent
   var directory: Directory = new Directory()
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 2fb2e0fd27a9ce9637c16fbbb4fd1e2e60c17eb0..60dd9360b7c6f264d631375650f116c16d9c9792 100755
--- a/src/main/scala/org/scadcop/solver/decentralized/supervisor/Supervisor.scala
+++ b/src/main/scala/org/scadcop/solver/decentralized/supervisor/Supervisor.scala
@@ -15,9 +15,9 @@ import akka.actor.{Actor, ActorRef, FSM, Props, Stash, PoisonPill}
 class Supervisor(val pb : DCOP, val algorithm: Algorithm, val initialContext: Context) extends Actor with Stash
     with FSM[SupervisorState, SupervisorStatus] {
 
-  var debug = true
-  var debugState = true
-  var trace = true
+  var debug = false
+  var debugState = false
+  var trace = false
 
   var solver: ActorRef = context.parent // Reference to the distributed solver
   var directory = new Directory() // White page for the peers
@@ -141,6 +141,7 @@ class Supervisor(val pb : DCOP, val algorithm: Algorithm, val initialContext: Co
           if (trace) println(s"Supervisor -> $anyVariable : ContinueAlgo")
           directory.addressOf(anyVariable) ! ContinueAlgo
         }
+        updatedStatus = updatedStatus.updateObjectiveValue(newObjectiveValue)
         if (trace) println(s"Supervisor -> self : ContinueAlgo")
         self ! ContinueAlgo
       }
@@ -151,7 +152,6 @@ class Supervisor(val pb : DCOP, val algorithm: Algorithm, val initialContext: Co
           directory.addressOf(anyVariable) ! Query
         }
         if (trace) println(s"Supervisor -> self : StopAlgo")
-        updatedStatus = updatedStatus.updateObjectiveValue(newObjectiveValue)
         self ! StopAlgo
         }
         goto(Deciding) using updatedStatus
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 0e03fef4c3ebc8bfdb04a3a3a55aaebc01da1f1d..c375edd30299c243d6ee65a46438177c33a3e685 100755
--- a/src/main/scala/org/scadcop/solver/decentralized/supervisor/SupervisorStatus.scala
+++ b/src/main/scala/org/scadcop/solver/decentralized/supervisor/SupervisorStatus.scala
@@ -41,7 +41,7 @@ class SupervisorStatus(val readyVariables: Set[Variable] = Set(),
     * Returns true if the algorithm ends
     * @todo modify it
     */
-  def isTerminated(newObjectiveValue : Double) : Boolean = newObjectiveValue > previousObj
+  def isTerminated(newObjectiveValue : Double) : Boolean = newObjectiveValue <= previousObj
 
   /*Returns the updated supervisor's status when resetting the context*/
   def resetContext(): SupervisorStatus = {