diff --git a/lib/node.js b/lib/node.js
index <HASH>..<HASH> 100644
--- a/lib/node.js
+++ b/lib/node.js
@@ -24,14 +24,7 @@ var appendChild = function (parent, child) {
 	}
 };
 
-var getIsCurrent = function () {
-	var node = this.tree.current;
-	while (node) {
-		if (node === this) return true;
-		node = node.parent;
-	}
-	return false;
-};
+var getIsCurrent = function () { return this.isCurrent; };
 
 var SiteNode = module.exports = function (conf, context, parent) {
 	this.conf = conf;
@@ -45,6 +38,14 @@ var SiteNode = module.exports = function (conf, context, parent) {
 
 Object.defineProperties(SiteNode.prototype, assign({
 	parent: d(null),
+	isCurrent: d.gs(function () {
+		var node = this.tree.current;
+		while (node) {
+			if (node === this) return true;
+			node = node.parent;
+		}
+		return false;
+	}),
 
 	// Switches between parent and this node view, or other way
 	_switch: d(function (after) {
refactor: expose isCurrent on view node