diff --git a/alib2data/src/label/ObjectLabel.cpp b/alib2data/src/label/ObjectLabel.cpp
index a4dedcf4d47a6cec5b8d6d5ab94c168b45a8d492..b235b61a25e99eedf08bf015b68f0f2839913b38 100644
--- a/alib2data/src/label/ObjectLabel.cpp
+++ b/alib2data/src/label/ObjectLabel.cpp
@@ -13,6 +13,10 @@ ObjectLabel::ObjectLabel(const alib::Object& label) : label(label) {
 
 }
 
+ObjectLabel::ObjectLabel(alib::Object&& label) : label(std::move(label)) {
+
+}
+
 LabelBase* ObjectLabel::clone() const {
 	return new ObjectLabel(*this);
 }
diff --git a/alib2data/src/label/ObjectLabel.h b/alib2data/src/label/ObjectLabel.h
index c5f9f2fe621d18b7b8d139d048210bb13c43f1fd..fd6c1fe63370f519aeed30a313b29e5b0c02886b 100644
--- a/alib2data/src/label/ObjectLabel.h
+++ b/alib2data/src/label/ObjectLabel.h
@@ -32,6 +32,8 @@ public:
 	 */
 	explicit ObjectLabel(const alib::Object& label);
 
+	explicit ObjectLabel(alib::Object&& label);
+
 	virtual bool operator<(const alib::ObjectBase& other) const;
 	
 	virtual bool operator>(const alib::ObjectBase& other) const;