diff --git a/src/block.js b/src/block.js
index 66aafbc..6e82c75 100644
--- a/src/block.js
+++ b/src/block.js
@@ -131,11 +131,11 @@ Block.prototype.toHex = function (headersOnly) {
 Block.calculateTarget = function (bits) {
   var exponent = ((bits & 0xff000000) >> 24) - 3
   var mantissa = bits & 0x007fffff
-  var i = 31 - exponent
+  var i = 28 - exponent
 
   var target = new Buffer(32)
   target.fill(0)
-  target.writeUInt32BE(mantissa, i - 3)
+  target.writeUInt32BE(mantissa, i)
   return target
 }