diff --git a/alib2common/src/abstraction/CastRegistry.cpp b/alib2common/src/abstraction/CastRegistry.cpp
index 251ff90e4bdd64df5455da99f643ca7c71da8009..4ba258e8079e2da86f052520102b2a11c280ec03 100644
--- a/alib2common/src/abstraction/CastRegistry.cpp
+++ b/alib2common/src/abstraction/CastRegistry.cpp
@@ -7,6 +7,8 @@
 
 #include <abstraction/CastRegistry.hpp>
 
+#include <core/namingApi.hpp>
+
 namespace abstraction {
 
 std::shared_ptr < abstraction::OperationAbstraction > CastRegistry::getAbstraction ( const std::string & target, const std::string & param, bool & normalize ) {
diff --git a/alib2common/src/abstraction/CastRegistry.hpp b/alib2common/src/abstraction/CastRegistry.hpp
index 09651e12088062f9c6437ba710326cb3c1d9bdcc..b685188769f823959a99a2f21253dd0909d4727f 100644
--- a/alib2common/src/abstraction/CastRegistry.hpp
+++ b/alib2common/src/abstraction/CastRegistry.hpp
@@ -15,8 +15,6 @@
 #include <exception/CommonException.h>
 #include <abstraction/OperationAbstraction.hpp>
 
-#include <core/namingApi.hpp>
-
 namespace abstraction {
 
 class CastRegistry {
diff --git a/alib2common/src/abstraction/NaryOperationAbstraction.hpp b/alib2common/src/abstraction/NaryOperationAbstraction.hpp
index 49bcce19644998a63323d3efaf199e9750988a13..f82fba29321b02f06d1f39641a12c332f41f9af6 100644
--- a/alib2common/src/abstraction/NaryOperationAbstraction.hpp
+++ b/alib2common/src/abstraction/NaryOperationAbstraction.hpp
@@ -26,14 +26,13 @@ private:
 		if ( index >= m_moves.size ( ) )
 			throw exception::CommonException ( "Parameter index out of bounds.");
 
-		m_moves [ index ] = move;
-
 		auto attachCallback = [ & ] ( auto & param ) {
 			if ( param != nullptr )
 				return false;
 
 			typename std::decay < decltype ( param )>::type validData = std::dynamic_pointer_cast < typename std::decay < decltype ( param ) >::type::element_type > ( input );
 			if ( validData ) {
+				m_moves [ index ] = move;
 				param = validData;
 				return true;
 			} else {