diff --git a/alib2cli/src/ast/expression/TypeExpression.h b/alib2cli/src/ast/expression/TypeExpression.h
index 8adc87cda671a82b4f53be9d1e32dfe28ce3a28d..42d1c6c89a49c6f8d1d17a02fef825e68705bac1 100644
--- a/alib2cli/src/ast/expression/TypeExpression.h
+++ b/alib2cli/src/ast/expression/TypeExpression.h
@@ -16,7 +16,16 @@ public:
 	std::shared_ptr < abstraction::Value > translateAndEval ( Environment & environment ) const override {
 		std::shared_ptr < abstraction::Value > translatedExpression = m_expression->translateAndEval ( environment );
 
-		return std::make_shared < abstraction::ValueHolder < std::string > > ( translatedExpression->getType ( ), true );
+		std::string type;
+		if ( abstraction::TypeQualifiers::isConst ( translatedExpression->getTypeQualifiers ( ) ) )
+			type += "const ";
+		type += translatedExpression->getType ( );
+		if ( abstraction::TypeQualifiers::isRvalueRef ( translatedExpression->getTypeQualifiers ( ) ) )
+			type += " &&";
+		if ( abstraction::TypeQualifiers::isLvalueRef ( translatedExpression->getTypeQualifiers ( ) ) )
+			type += " &";
+
+		return std::make_shared < abstraction::ValueHolder < std::string > > ( std::move ( type ), true );
 	}
 
 };