diff --git a/app/lib/dal/fileDAL.js b/app/lib/dal/fileDAL.js
index 4b678f247f6754041bbff749d0afe291916e9027..c5959b881965cb73b08a235dd9ec348c30072d6a 100644
--- a/app/lib/dal/fileDAL.js
+++ b/app/lib/dal/fileDAL.js
@@ -98,7 +98,7 @@ function FileDAL(profile, home, localDir, myFS, parentFileDAL, dalName, loki) {
 
   // DALs
   this.confDAL = new ConfDAL(rootPath, myFS, parentFileDAL && parentFileDAL.confDAL.coreFS, that, CFSStorage);
-  this.peerDAL = new PeerDAL(rootPath, myFS, parentFileDAL && parentFileDAL.peerDAL.coreFS, that, CFSStorage);
+  this.peerDAL = new PeerDAL(loki);
   this.blockDAL = new BlockDAL(loki, blocksCFS, getLowerWindowBlock);
   this.sourcesDAL = new SourcesDAL(loki);
   this.txsDAL = new TxsDAL(loki);
@@ -1193,7 +1193,12 @@ function FileDAL(profile, home, localDir, myFS, parentFileDAL, dalName, loki) {
   this.resetPeers = function(done) {
     var files = [];
     var dirs  = ['peers'];
-    return resetFiles(files, dirs, done);
+    return co(function *() {
+      that.peerDAL.lokiRemoveAll();
+      yield resetFiles(files, dirs);
+    })
+      .then(() => done && done())
+      .catch((err) => done && done(err));
   };
 
   this.resetTransactions = function(done) {
diff --git a/app/lib/dal/fileDALs/AbstractLoki.js b/app/lib/dal/fileDALs/AbstractLoki.js
index 832093f33bf2623957a9d9c7c00db925bde63d39..daab0c6f64a16e89e9d40a95bde08bf08123f2cf 100644
--- a/app/lib/dal/fileDALs/AbstractLoki.js
+++ b/app/lib/dal/fileDALs/AbstractLoki.js
@@ -68,6 +68,9 @@ function AbstractLoki(collection) {
     return false;
   };
 
+  this.lokiRemoveAll = () =>
+    collection.removeDataOnly();
+
   this.lokiRemoveWhere = (conditions) =>
     collection.removeWhere(conditions);
 
diff --git a/app/lib/dal/fileDALs/PeerDAL.js b/app/lib/dal/fileDALs/PeerDAL.js
index 62b37cfda10a4909992180f52e6a13a9076e8b74..46b667e959037bec9b5299dec3448b483d8e06fb 100644
--- a/app/lib/dal/fileDALs/PeerDAL.js
+++ b/app/lib/dal/fileDALs/PeerDAL.js
@@ -2,19 +2,41 @@
  * Created by cgeek on 22/08/15.
  */
 
+var Q = require('q');
+var AbstractLoki = require('./AbstractLoki');
+
 module.exports = PeerDAL;
 
-function PeerDAL(rootPath, qioFS, parentCore, localDAL, AbstractStorage) {
+function PeerDAL(loki) {
 
   "use strict";
 
-  AbstractStorage.call(this, rootPath, qioFS, parentCore, localDAL);
+  let collection = loki.getCollection('peers') || loki.addCollection('peers', { indices: ['pubkey', 'status'] });
+
+  AbstractLoki.call(this, collection);
+
+  this.idKeys = ['pubkey'];
+  this.propsToSave = [
+    'version',
+    'currency',
+    'status',
+    'statusTS',
+    'hash',
+    'first_down',
+    'last_try',
+    'pub',
+    'pubkey',
+    'block',
+    'signature',
+    'endpoints',
+    'raw'
+  ];
 
-  this.init = () => this.coreFS.makeTree('peers/');
+  this.init = () => null;
 
-  this.listAll = () => this.coreFS.listJSON('peers/');
+  this.listAll = () => Q(collection.find());
 
-  this.getPeer = (pubkey) => this.coreFS.readJSON('peers/' + pubkey + '.json');
+  this.getPeer = (pubkey) => Q(collection.find({ pubkey: pubkey })[0]);
 
-  this.savePeer = (peer) => this.coreFS.writeJSON('peers/' + peer.pubkey + '.json', peer);
+  this.savePeer = (peer) => this.lokiSave(peer);
 }
diff --git a/bin/ucoind b/bin/ucoind
index 06d132a2898e50556a92c08bec566d2ec14853fd..dffece8612d4db62093dfcbad54f4010cd893b44 100755
--- a/bin/ucoind
+++ b/bin/ucoind
@@ -372,31 +372,33 @@ program
 program
   .command('reset [config|data|peers|tx|stats|all]')
   .description('Reset configuration, data, peers, transactions or everything in the database')
-  .action(connect(function (type, server) {
-    if(!~['config', 'data', 'peers', 'tx', 'stats', 'all'].indexOf(type)){
-      logger.error('Bad command: usage `reset config`, `reset data`, `reset peers`, `reset tx`, `reset stats` or `reset all`');
-      server.disconnect();
-      return;
-    }
-    if(type == 'data'){
-      server.resetData(resetDone(server, 'Data successfully reseted.'));
-    }
-    if(type == 'peers'){
-      server.resetPeers(resetDone(server, 'Peers successfully reseted.'));
-    }
-    if(type == 'tx'){
-      server.resetTxs(resetDone(server, 'Transactions successfully reseted.'));
-    }
-    if(type == 'stats'){
-      server.resetStats(resetDone(server, 'Stats successfully reseted.'));
-    }
-    if(type == 'config'){
-      server.resetConf(resetDone(server, 'Configuration successfully reseted.'));
-    }
-    if(type == 'all'){
-      server.reset(resetDone(server, 'Data & Configuration successfully reseted.'));
-    }
-  }, true));
+  .action((type) => {
+    connect(function (server) {
+      if(!~['config', 'data', 'peers', 'tx', 'stats', 'all'].indexOf(type)){
+        logger.error('Bad command: usage `reset config`, `reset data`, `reset peers`, `reset tx`, `reset stats` or `reset all`');
+        server.disconnect();
+        return;
+      }
+      if(type == 'data'){
+        server.resetData(resetDone(server, 'Data successfully reseted.'));
+      }
+      if(type == 'peers'){
+        server.resetPeers(resetDone(server, 'Peers successfully reseted.'));
+      }
+      if(type == 'tx'){
+        server.resetTxs(resetDone(server, 'Transactions successfully reseted.'));
+      }
+      if(type == 'stats'){
+        server.resetStats(resetDone(server, 'Stats successfully reseted.'));
+      }
+      if(type == 'config'){
+        server.resetConf(resetDone(server, 'Configuration successfully reseted.'));
+      }
+      if(type == 'all'){
+        server.reset(resetDone(server, 'Data & Configuration successfully reseted.'));
+      }
+    }, type != 'peers')(type);
+  });
 
 function resetDone(server, msg) {
   return function(err) {