diff --git a/app/lib/dup/indexer.js b/app/lib/dup/indexer.js
index 0646912bcaede618fb2b9c5704c7477fbf5bdf76..37b5b429e4da2835a9f21ebe8fd5ca5eb9976a09 100644
--- a/app/lib/dup/indexer.js
+++ b/app/lib/dup/indexer.js
@@ -965,7 +965,12 @@ const indexer = module.exports = {
   },
 
   // BR_G50
-  ruleBlockSize: (HEAD) => HEAD.bsize < indexer.DUP_HELPERS.getMaxBlockSize(HEAD),
+  ruleBlockSize: (HEAD) => {
+    if (HEAD.number > 0) {
+      return HEAD.bsize < indexer.DUP_HELPERS.getMaxBlockSize(HEAD);
+    }
+    return true;
+  },
 
   // BR_G98
   ruleCurrency: (block, HEAD) => {
diff --git a/doc/Protocol.md b/doc/Protocol.md
index 379382a289c7c88f7ff280768abf35d001f4b9ae..c4feaf30f0394d88adbb05e3dff376a683168058 100644
--- a/doc/Protocol.md
+++ b/doc/Protocol.md
@@ -2058,6 +2058,8 @@ If `HEAD.number > 0`:
 
 Rule:
 
+If `HEAD.number > 0`:
+
     HEAD.size < MAX(500 ; CEIL(1.10 * HEAD.avgBlockSize))
 
 ###### BR_G98 - Currency
diff --git a/package.json b/package.json
index 0ceeef3647c9edd78d3393543ba3abb879a87f63..b88fd5504623ada3d29acc9801cde19d7b6ce8d3 100644
--- a/package.json
+++ b/package.json
@@ -46,7 +46,7 @@
     "duniter-common": "0.1.0",
     "duniter-crawler": "^0.2.9",
     "duniter-keypair": "^0.3.0",
-    "duniter-prover": "^0.2.5",
+    "duniter-prover": "^0.2.6",
     "event-stream": "3.3.4",
     "inquirer": "0.8.5",
     "jison": "0.4.17",
diff --git a/test/fast/block/protocol-brg50-blocksize.js b/test/fast/block/protocol-brg50-blocksize.js
index 475934eaf069d12140c16581dae8521dc82a16b0..30b4ab42ae1065b9182f1a630ef71d41ca307f4d 100644
--- a/test/fast/block/protocol-brg50-blocksize.js
+++ b/test/fast/block/protocol-brg50-blocksize.js
@@ -9,42 +9,47 @@ const SUCCESS = true;
 describe("Protocol BR_G50 - Block size", function(){
 
   it('2 for an AVG(10) should succeed', () => co(function*(){
-    const HEAD   = { bsize: 2, avgBlockSize: 10 };
+    const HEAD   = { number: 24, bsize: 2, avgBlockSize: 10 };
     indexer.ruleBlockSize(HEAD).should.equal(SUCCESS);
   }));
 
   it('400 for an AVG(10) should succeed', () => co(function*(){
-    const HEAD   = { bsize: 400, avgBlockSize: 10 };
+    const HEAD   = { number: 24, bsize: 400, avgBlockSize: 10 };
     indexer.ruleBlockSize(HEAD).should.equal(SUCCESS);
   }));
 
   it('499 for an AVG(10) should succeed', () => co(function*(){
-    const HEAD   = { bsize: 499, avgBlockSize: 10 };
+    const HEAD   = { number: 24, bsize: 499, avgBlockSize: 10 };
     indexer.ruleBlockSize(HEAD).should.equal(SUCCESS);
   }));
 
   it('500 for an AVG(10) should fail', () => co(function*(){
-    const HEAD   = { bsize: 500, avgBlockSize: 10 };
+    const HEAD   = { number: 24, bsize: 500, avgBlockSize: 10 };
     indexer.ruleBlockSize(HEAD).should.equal(FAIL);
   }));
 
   it('500 for an AVG(454) should fail', () => co(function*(){
-    const HEAD   = { bsize: 500, avgBlockSize: 454 };
+    const HEAD   = { number: 24, bsize: 500, avgBlockSize: 454 };
     indexer.ruleBlockSize(HEAD).should.equal(FAIL);
   }));
 
   it('500 for an AVG(455) should succeed', () => co(function*(){
-    const HEAD   = { bsize: 500, avgBlockSize: 455 };
+    const HEAD   = { number: 24, bsize: 500, avgBlockSize: 455 };
     indexer.ruleBlockSize(HEAD).should.equal(SUCCESS);
   }));
 
   it('1100 for an AVG(1000) should fail', () => co(function*(){
-    const HEAD   = { bsize: 1100, avgBlockSize: 1000 };
+    const HEAD   = { number: 24, bsize: 1100, avgBlockSize: 1000 };
     indexer.ruleBlockSize(HEAD).should.equal(FAIL);
   }));
 
   it('1100 for an AVG(1001) should succeed', () => co(function*(){
-    const HEAD   = { bsize: 1100, avgBlockSize: 1001 };
+    const HEAD   = { number: 24, bsize: 1100, avgBlockSize: 1001 };
+    indexer.ruleBlockSize(HEAD).should.equal(SUCCESS);
+  }));
+
+  it('1100 for block#0 should succeed', () => co(function*(){
+    const HEAD   = { number: 0, bsize: 1100, avgBlockSize: 0 };
     indexer.ruleBlockSize(HEAD).should.equal(SUCCESS);
   }));
 });