diff --git a/alib2data/src/label/LabelFromXMLParser.cpp b/alib2data/src/label/LabelFromXMLParser.cpp
index e493cb332faddb76a914e16517371b7edc1ef0a5..1aa0dabe802132b57efb34e11919fe59636c961e 100644
--- a/alib2data/src/label/LabelFromXMLParser.cpp
+++ b/alib2data/src/label/LabelFromXMLParser.cpp
@@ -12,7 +12,7 @@
 namespace label {
 
 Label LabelFromXMLParser::parseLabel(std::list<sax::Token>& input) const {
-	return parseLabel(input, std::set<FEATURES>({FEATURES::STRING, FEATURES::CHAR, FEATURES::INTEGER}));
+	return parseLabel(input, std::set<FEATURES>({FEATURES::STRING, FEATURES::CHAR, FEATURES::INTEGER, FEATURES::LABEL_SET}));
 }
 
 Label LabelFromXMLParser::parseLabel(std::list<sax::Token>& input, const std::set<FEATURES>& features) const {
@@ -27,7 +27,7 @@ Label LabelFromXMLParser::parseLabel(std::list<sax::Token>& input, const std::se
 		return Label(parseCharacterLabel(input));
 	} else if(isToken(input, sax::Token::TokenType::START_ELEMENT, "LabelSetLabel")) {
 		if(!features.count(FEATURES::LABEL_SET)) throw exception::AlibException();
-		return Label(parseCharacterLabel(input));
+		return Label(parseLabelSetLabel(input));
 	} else {
 		throw sax::ParserException(sax::Token("IntegerLabel, StringLabel, CharacterLabel", sax::Token::TokenType::START_ELEMENT), input.front());
 	}