diff --git a/lib/server.js b/lib/server.js
index 8c80fd2..b4a9bc7 100644
--- a/lib/server.js
+++ b/lib/server.js
@@ -696,6 +696,7 @@ WalletService.prototype._canCreateAddress = function(ignoreMaxGap, cb) {
   var self = this;
 
   if (ignoreMaxGap) return cb(null, true);
+
   self.storage.fetchAddresses(self.walletId, function(err, addresses) {
     if (err) return cb(err);
     var latestAddresses = _.takeRight(_.reject(addresses, {
@@ -704,7 +705,7 @@ WalletService.prototype._canCreateAddress = function(ignoreMaxGap, cb) {
     if (latestAddresses.length < WalletService.MAX_MAIN_ADDRESS_GAP) return cb(null, true);
 
     var bc = self._getBlockchainExplorer(latestAddresses[0].network);
-    bc.getAddressActivity(latestAddresses, cb);
+    bc.getAddressActivity(_.pluck(latestAddresses, 'address'), cb);
   });
 };
 
diff --git a/test/integration/server.js b/test/integration/server.js
index 11b9e9b..e5d86e9 100644
--- a/test/integration/server.js
+++ b/test/integration/server.js
@@ -237,8 +237,8 @@ helpers.stubFeeLevels = function(levels) {
 };
 
 helpers.stubAddressActivity = function(activeAddresses) {
-  blockchainExplorer.getAddressActivity = function(address, cb) {
-    return cb(null, _.contains(activeAddresses, address));
+  blockchainExplorer.getAddressActivity = function(addresses, cb) {
+    return cb(null, _.intersection(activeAddresses, [].concat(addresses)).length > 0);
   };
 };
 
@@ -1667,32 +1667,6 @@ describe('Wallet service', function() {
           });
         });
       });
-
-      it('should fail to create more consecutive addresses with no activity than allowed', function(done) {
-        var MAX_MAIN_ADDRESS_GAP_old = WalletService.MAX_MAIN_ADDRESS_GAP;
-        var n = WalletService.MAX_MAIN_ADDRESS_GAP = 2;
-        helpers.stubAddressActivity([]);
-        async.map(_.range(n), function(i, next) {
-          server.createAddress({}, next);
-        }, function(err, addresses) {
-          addresses.length.should.equal(n);
-
-          server.createAddress({}, function(err, address) {
-            should.exist(err);
-            should.not.exist(address);
-            err.code.should.equal('MAIN_ADDRESS_GAP_REACHED');
-            server.createAddress({
-              ignoreMaxGap: true
-            }, function(err, address) {
-              should.not.exist(err);
-              should.exist(address);
-              address.path.should.equal('m/0/' + n);
-              WalletService.MAX_MAIN_ADDRESS_GAP = MAX_MAIN_ADDRESS_GAP_old;
-              done();
-            });
-          });
-        });
-      });
     });
 
     describe('1-of-1 (BIP44 & P2PKH)', function() {
@@ -1741,6 +1715,42 @@ describe('Wallet service', function() {
           done();
         });
       });
+
+      it('should fail to create more consecutive addresses with no activity than allowed', function(done) {
+        var MAX_MAIN_ADDRESS_GAP_old = WalletService.MAX_MAIN_ADDRESS_GAP;
+        WalletService.MAX_MAIN_ADDRESS_GAP = 2;
+        helpers.stubAddressActivity([]);
+        async.map(_.range(2), function(i, next) {
+          server.createAddress({}, next);
+        }, function(err, addresses) {
+          addresses.length.should.equal(2);
+
+          server.createAddress({}, function(err, address) {
+            should.exist(err);
+            should.not.exist(address);
+            err.code.should.equal('MAIN_ADDRESS_GAP_REACHED');
+            server.createAddress({
+              ignoreMaxGap: true
+            }, function(err, address) {
+              should.not.exist(err);
+              should.exist(address);
+              address.path.should.equal('m/0/2');
+
+              helpers.stubAddressActivity([
+                '1GdXraZ1gtoVAvBh49D4hK9xLm6SKgesoE', // m/0/2
+              ]);
+              server.createAddress({}, function(err, address) {
+                should.not.exist(err);
+                should.exist(address);
+                address.path.should.equal('m/0/3');
+
+                WalletService.MAX_MAIN_ADDRESS_GAP = MAX_MAIN_ADDRESS_GAP_old;
+                done();
+              });
+            });
+          });
+        });
+      });
     });
   });