Socket.io, node.js and the stick-session module

I'm trying to use the sticky-session module to run a socket server on multiple cores on the same machine.

I can get it to work, but I I get multiple duplicate console.output statements from within io.sockets.on('connectection'...

This works, i.e. without the duplicate console.log outputs, if I remove sticky-session.

I have shortened the code somewhat to try and make it as succinct as possible.

Server.js:

    var express = require('express'),
    api = require('./routes/api'),
    sticky = require('sticky-session');

     //SET UP SERVER CONSTS (USE var INSTEAD OF const DUE TO BEST PRACTISE) 
    var args = process.argv.slice(2);
    var PORT = args[0];

    sticky(function() {
            var app = module.exports = express();
            app.configure(function(){
              app.use(express.bodyParser());
            });
            var server = require('http').createServer(app)
            //START SOCKET SERVER
            io = require('./messaging/sockets')(server);
            return server;
    }).listen(PORT, function() {
      console.log('Socket server listening on port ' + PORT);
    });

messaging/socket.js:

    var    User = require('../models/usermodel.js').UserModel;
    module.exports = function(server) {
    io = require('socket.io').listen(server);

    socketstore = require("./socketstore");
    messaging = require("./messaging");

    io.sockets.on('connection', function (socket) {
      var username = socket.decoded_token.username;
      console.log("adding username " + username + " to socketstore");
      User.findOne(criteria, function(err, user) {
              socketstore.addSocketToStore(user,socket);
              socket.on('disconnect', function () {
                      socketstore.deleteSocketById(user)
              });
            });
      });
    return io;
    }

Why am I getting multiple console.log() outputs?