diff --git a/lib/node.js b/lib/node.js
index <HASH>..<HASH> 100644
--- a/lib/node.js
+++ b/lib/node.js
@@ -328,6 +328,24 @@ var node = module.exports = {
     });
   },
 
+  removeLabel: function(node, label, callback) {
+    if (Array.isArray(node)) {
+      var txn = this._safeBatch();
+      async.map(node, naan.ncurry(txn.removeLabel, label, 1), callback);
+      return this._safeBatchCommit(txn);
+    }
+
+    var id = this._getId(node);
+    if (!this._isValidId(id)) return callback(new Error("Invalid ID"));
+
+    var endpoint = util.format('%s/labels/%s', this._nodeRoot(id), label);
+    var op = this.operation(endpoint, 'DELETE');
+    this.call(op, function(err) {
+      if (err) callback(err);
+      else callback();
+    });
+  },
+
   nodesWithLabel: function(label, callback) {
     var endpoint = util.format('label/%s/nodes', label);
     var op = this.operation(endpoint, 'GET');
labels: implemented removing a label from a node