Added test for Usergrid singleton in a separate module
diff --git a/tests/lib/usergrid.singleton.test.js b/tests/lib/usergrid.singleton.test.js
new file mode 100644
index 0000000..f2d0360
--- /dev/null
+++ b/tests/lib/usergrid.singleton.test.js
@@ -0,0 +1,8 @@
+'use strict'
+
+var should = require('should'),
+    Usergrid = require('../../usergrid')
+
+it('should be initialized when defined in another module', function() {
+    Usergrid.isInitialized.should.be.true()
+})
\ No newline at end of file
diff --git a/tests/lib/usergrid.test.js b/tests/lib/usergrid.test.js
index 9da32af..6c836c5 100644
--- a/tests/lib/usergrid.test.js
+++ b/tests/lib/usergrid.test.js
@@ -10,9 +10,13 @@
 describe('init() / initSharedInstance()', function() {
     it('should be an instance of UsergridClient', function() {
         Usergrid.init()
+        Usergrid.initSharedInstance()
         Usergrid.should.be.an.instanceof(UsergridClient)
     })
+    
     it(util.format('should be testing against a Usergrid v%s instance', config.target), function() {
         util.format('--target=%s', config.target).should.equal(_.last(process.argv))
     })
+
+    return require('./usergrid.singleton.test')
 })
\ No newline at end of file
diff --git a/usergrid.js b/usergrid.js
index 54a4ae7..69542f7 100644
--- a/usergrid.js
+++ b/usergrid.js
@@ -5,8 +5,12 @@
 var Usergrid = {
     initSharedInstance: function(options) {
         var self = this
+        if (self.isInitialized) {
+            return self
+        }
         Object.setPrototypeOf(Usergrid, new UsergridClient(options))
         UsergridClient.call(self)
+        self.isInitialized = true
     }
 }