diff --git a/alib2data/src/factory/DataFactory.hpp b/alib2data/src/factory/DataFactory.hpp
index cb3b22d02bc8d5023eb7e45312ae62fed5d7ede7..c71cff43447af1d90e02f0cd5dd1dc60fcbf1900 100644
--- a/alib2data/src/factory/DataFactory.hpp
+++ b/alib2data/src/factory/DataFactory.hpp
@@ -73,6 +73,7 @@ public:
 	 */
 	template<class T>
 	static T fromTokens(std::list<sax::Token> tokens) {
+		if(tokens.size() == 0) throw exception::AlibException("Empty tokens list");
 		T res = alib::api<T>::parse(tokens);
 		if(tokens.size() != 0) throw exception::AlibException("Unexpeted tokens at the end of the xml");
 		return res;