diff --git a/alib2/src/string/StringBase.cpp b/alib2/src/string/StringBase.cpp
index 6a59a4fd42b699ccb0faafca6779f74e0691c30f..f7464160dc6d075ef768eaf40d1d26086f9a0787 100644
--- a/alib2/src/string/StringBase.cpp
+++ b/alib2/src/string/StringBase.cpp
@@ -15,6 +15,10 @@
 
 namespace string {
 
+StringBase::StringBase() : parentString(NULL) {
+
+}
+
 StringBase::~StringBase() noexcept {
 
 }
diff --git a/alib2/src/string/StringBase.h b/alib2/src/string/StringBase.h
index 46850570c2c6bb192786e79bef0280266b976c51..8178b85027d1e145fb68e90476e091d48ea68362 100644
--- a/alib2/src/string/StringBase.h
+++ b/alib2/src/string/StringBase.h
@@ -52,6 +52,7 @@ protected:
 	 */
 	virtual void computeMinimalAlphabet(std::set<alphabet::Symbol>&) const = 0;
 public:
+	StringBase();
 	virtual ~StringBase() noexcept;
 
 	virtual StringBase* clone() const = 0;
diff --git a/alib2/src/string/StringFromStringLexer.cpp b/alib2/src/string/StringFromStringLexer.cpp
index 2e1a32a806182014b02e99987641b87e8e362b86..8390deabc6432d67578379bafae84ec26e2d6ed2 100644
--- a/alib2/src/string/StringFromStringLexer.cpp
+++ b/alib2/src/string/StringFromStringLexer.cpp
@@ -33,6 +33,7 @@ L0:
 		m_Current.value += character;
 		return *this;
 	} else if(character == '#') {
+		m_Current.value += character;
 		goto L1;
 	} else {
 		m_In.seekg(pos);
@@ -46,6 +47,7 @@ L1:
 		m_Current.type = TokenType::ERROR;
 		return *this;
 	} else if(character == 'E') {
+		m_Current.value += character;
 		m_Current.type = TokenType::EPSILON;
 		return *this;
 	} else {