diff --git a/app/modules/prover/lib/blockProver.ts b/app/modules/prover/lib/blockProver.ts
index 03676a8f4daa5f6bc7a8cb0f8716615a68544adf..f3e036770c0a9bd84a98312be58c031f4f4fc753 100644
--- a/app/modules/prover/lib/blockProver.ts
+++ b/app/modules/prover/lib/blockProver.ts
@@ -201,12 +201,12 @@ export class BlockProver {
         this.logger.info('Done: #%s, %s in %ss instead of %ss (%s tests, ~%s tests/s)', block.number, proof.hash, (duration / 1000).toFixed(2),
                                                                         this.conf.avgGenTime, testsCount, testsPerSecond.toFixed(2));
         this.logger.info('FOUND proof-of-work with %s leading zeros followed by [0-' + highMark + ']!', nbZeros);
-        if(this.conf.ecoMode === true && this.conf.nbCores*testsPerSecond > 300) {
+        if(this.conf.ecoMode === true && this.conf.nbCores*testsPerSecond > ProverConstants.ECO_MODE_MINIMAL_TESTS_PER_SECONDS) {
           if(this.conf.nbCores > 1) {
             this.logger.info("Reducing number of CPU cores "+this.conf.nbCores)
             this.conf.nbCores = this.conf.nbCores -1
           }
-          else if(this.conf.cpu > 0.19){
+          else if(this.conf.cpu > ProverConstants.ECO_MODE_MINIMAL_CPU){
             let cpu:number = this.conf.cpu - 0.1
             this.logger.info("Slowing down the CPU to "+cpu)
             this.changeCPU(cpu)
diff --git a/app/modules/prover/lib/constants.ts b/app/modules/prover/lib/constants.ts
index 2b8299c335620178aa08a47f85452b6e53eef058..66dbe534b71721b1bfc2f0e798e3e2f12fc5ebab 100644
--- a/app/modules/prover/lib/constants.ts
+++ b/app/modules/prover/lib/constants.ts
@@ -5,12 +5,15 @@ export const ProverConstants = {
   MINIMAL_ZEROS_TO_SHOW_IN_LOGS: 3,
 
   POW_MINIMAL_TO_SHOW: 2,
-  DEFAULT_ECO_MODE: true,
+  DEFAULT_ECO_MODE: false,
   DEFAULT_CPU: 0.6,
   DEFAULT_PEER_ID: 1,
   MIN_PEER_ID: 1,
   MAX_PEER_ID: 899, // Due to MAX_SAFE_INTEGER = 9007199254740991 (16 digits, and we use 11 digits for the nonce + 2 digits for core number => 3 digits for the peer, must be below 900)
 
+  ECO_MODE_MINIMAL_TESTS_PER_SECONDS: 300,
+  ECO_MODE_MINIMAL_CPU: 0.19,
+
   NONCE_RANGE: 1000 * 1000 * 1000 * 100,
 
   POW_MAXIMUM_ACCEPTABLE_HANDICAP: 64,
diff --git a/app/modules/prover/lib/powCluster.ts b/app/modules/prover/lib/powCluster.ts
index 8e6e658434c893ddc695bc50bb07f15078c92f91..15d8d24c322dcf0209a2fbf5eca8902bc0c10e45 100644
--- a/app/modules/prover/lib/powCluster.ts
+++ b/app/modules/prover/lib/powCluster.ts
@@ -185,27 +185,24 @@ export class Master {
 
       // Start the salves' job
       this.slaves.forEach((s:any, index) => {
-        if(index < stuff.newPoW.conf.nbCores) {
-          s.worker.send({
-            uuid,
-            command: 'newPoW',
-            value: {
-              block: stuff.newPoW.block,
-              nonceBeginning: s.nonceBeginning,
-              zeros: stuff.newPoW.zeros,
-              highMark: stuff.newPoW.highMark,
-              pair: _.clone(stuff.newPoW.pair),
-              forcedTime: stuff.newPoW.forcedTime,
-              turnDuration: stuff.newPoW.turnDuration,
-              conf: {
-                medianTimeBlocks: stuff.newPoW.conf.medianTimeBlocks,
-                avgGenTime: stuff.newPoW.conf.avgGenTime,
-                cpu: stuff.newPoW.conf.cpu,
-                prefix: stuff.newPoW.conf.prefix
-              }
+        s.worker.send({
+          uuid,
+          command: 'newPoW',
+          value: {
+            block: stuff.newPoW.block,
+            nonceBeginning: s.nonceBeginning,
+            zeros: stuff.newPoW.zeros,
+            highMark: stuff.newPoW.highMark,
+            pair: _.clone(stuff.newPoW.pair),
+            forcedTime: stuff.newPoW.forcedTime,
+            turnDuration: stuff.newPoW.turnDuration,conf: {
+              medianTimeBlocks: stuff.newPoW.conf.medianTimeBlocks,
+              avgGenTime: stuff.newPoW.conf.avgGenTime,
+              cpu: stuff.newPoW.conf.cpu,
+              prefix: stuff.newPoW.conf.prefix
             }
-          })
-        }
+          }
+        })
       })
 
       return await this.currentPromise
diff --git a/test/integration/proof-of-work.js b/test/integration/proof-of-work.js
index dd507167a895b22c4d7aba1f99f35d43ca280b05..4d61810e3507c298d615437650ea3b6dc958932e 100644
--- a/test/integration/proof-of-work.js
+++ b/test/integration/proof-of-work.js
@@ -36,11 +36,10 @@ const prover = new BlockProver({
 const now = 1474382274 * 1000;
 const MUST_START_WITH_A_ZERO = 16;
 const MUST_START_WITH_TWO_ZEROS = 32;
-const MUST_START_WITH_THREE_ZEROS = 58;
+const MUST_START_WITH_A_ZERO_AND_A_NUMBER = 22
 
 describe("Proof-of-work", function() {
 
-  this.timeout(6*60000)
   it('should be able to find an easy PoW', () => co(function*() {
     let block = yield prover.prove({
       issuer: 'HgTTJLAQ5sqfknMq7yLPZbehtuLSsKj9CxWN7k8QvYJd',
@@ -53,12 +52,19 @@ describe("Proof-of-work", function() {
   }));
 
   it('should be reducing cpu when the PoW is too easy for the cpu', () => co(function*() {
+    prover.conf.nbCores = 2
+    prover.conf.cpu = 0.9
+    prover.conf.nbCores.should.equal(2)
+    prover.conf.cpu.should.equal(0.9)
     for(let i=0; i<8; ++i) {
-      let block = yield prover.prove({
+      yield prover.prove({
         issuer: 'HgTTJLAQ5sqfknMq7yLPZbehtuLSsKj9CxWN7k8QvYJd',
-        number: i+2
-      }, MUST_START_WITH_THREE_ZEROS, now);
+        number: i+2,
+        now
+      }, MUST_START_WITH_A_ZERO_AND_A_NUMBER, now);
     }
+    prover.conf.nbCores.should.equal(1)
+    prover.conf.cpu.should.be.below(0.9)
   }));
   // Too randomly successing test
   // it('should be able to cancel a proof-of-work on other PoW receival', () => co(function*() {