diff --git a/lib/nodes/expression.js b/lib/nodes/expression.js
index <HASH>..<HASH> 100644
--- a/lib/nodes/expression.js
+++ b/lib/nodes/expression.js
@@ -77,7 +77,7 @@ Expression.prototype.__proto__ = Node.prototype;
  */
 
 Expression.prototype.clone = function(){
-  var clone = new Expression(this.isList);
+  var clone = new this.constructor(this.isList);
   clone.preserve = this.preserve;
   clone.lineno = this.lineno;
   for (var i = 0; i < this.nodes.length; ++i) {
fixed Expression#clone() inheritance support