diff --git a/lib/nssocket.js b/lib/nssocket.js
index <HASH>..<HASH> 100644
--- a/lib/nssocket.js
+++ b/lib/nssocket.js
@@ -149,7 +149,7 @@ NsSocket.prototype.send = function send(event, data, callback) {
 
 //
 // ### function data (event, callback)
-// #### @event {Array|string} Namespaced `data` event to listen to
+// #### @event {Array|string} Namespaced `data` event to listen to.
 // #### @callback {function} Continuation to call when the event is raised.
 // Shorthand function for listening to `['data', '*']` events.
 //
@@ -161,6 +161,20 @@ NsSocket.prototype.data = function (event, callback) {
   this.on(['data'].concat(event), callback);
 };
 
+//
+// ### function data (event, callback)
+// #### @event {Array|string} Namespaced `data` event to listen to once.
+// #### @callback {function} Continuation to call when the event is raised.
+// Shorthand function for listening to `['data', '*']` events once.
+//
+NsSocket.prototype.dataOnce = function (event, callback) {
+  if (typeof event === 'string') {
+    event = event.split(this._delimiter);
+  }
+  
+  this.once(['data'].concat(event), callback);
+};
+
 // 
 // ### function setIdle (time, callback)
 // #### @time {Integer} how often to emit idle
[api] Added .dataOnce