Index: src/SynTree/Attribute.cc
===================================================================
--- src/SynTree/Attribute.cc	(revision 92d41a4af1542b1fcfd3bacde48933e4c8519366)
+++ src/SynTree/Attribute.cc	(revision eb60b04332a1c05746b4936505ee3fd7782f0502)
@@ -21,5 +21,5 @@
 #include "Expression.h"      // for Expression
 
-Attribute::Attribute( const Attribute &other ) : name( other.name ) {
+Attribute::Attribute( const Attribute &other ) : BaseSyntaxNode( other ), name( other.name ) {
 	cloneAll( other.parameters, parameters );
 }
Index: src/SynTree/BaseSyntaxNode.h
===================================================================
--- src/SynTree/BaseSyntaxNode.h	(revision 92d41a4af1542b1fcfd3bacde48933e4c8519366)
+++ src/SynTree/BaseSyntaxNode.h	(revision eb60b04332a1c05746b4936505ee3fd7782f0502)
@@ -30,5 +30,5 @@
 
   BaseSyntaxNode() { ++*new_nodes; }
-  BaseSyntaxNode( const BaseSyntaxNode& ) { ++*new_nodes; }
+  BaseSyntaxNode( const BaseSyntaxNode& o ) : location(o.location) { ++*new_nodes; }
 
 	virtual ~BaseSyntaxNode() {}
Index: src/SynTree/Constant.cc
===================================================================
--- src/SynTree/Constant.cc	(revision 92d41a4af1542b1fcfd3bacde48933e4c8519366)
+++ src/SynTree/Constant.cc	(revision eb60b04332a1c05746b4936505ee3fd7782f0502)
@@ -25,5 +25,5 @@
 Constant::Constant( Type * type, std::string rep, double val ) : type( type ), rep( rep ), val( val ) {}
 
-Constant::Constant( const Constant &other ) : rep( other.rep ), val( other.val ) {
+Constant::Constant( const Constant &other ) : BaseSyntaxNode( other ), rep( other.rep ), val( other.val ) {
 	type = other.type->clone();
 }
