diff --git a/alib2cli/src/lexer/StringCharSequence.h b/alib2cli/src/lexer/StringCharSequence.h
index 0da555d0f05184fa217d52181bd6bea7c93d093f..aa7bb3c547dbd4b769a642bf7aded83b5f104472 100644
--- a/alib2cli/src/lexer/StringCharSequence.h
+++ b/alib2cli/src/lexer/StringCharSequence.h
@@ -19,6 +19,18 @@ public:
 		this->linePtr = m_line.c_str ( );
 	}
 
+	StringCharSequence ( StringCharSequence && other ) : CharSequenceBase ( std::move ( other ) ) {
+		size_t dist = this->linePtr - other.m_line.c_str ( );
+		m_line = std::move ( other.m_line );
+		this->linePtr = m_line.c_str ( ) + dist;
+	}
+
+	StringCharSequence ( const StringCharSequence & ) = delete;
+
+	StringCharSequence & operator = ( StringCharSequence && ) = delete;
+
+	StringCharSequence & operator = ( const StringCharSequence & ) = delete;
+
 	virtual std::string getLine ( ) const override {
 		return m_line;
 	}
diff --git a/aql2/src/prompt/ReadlineCharSequence.h b/aql2/src/prompt/ReadlineCharSequence.h
index 5d77e24e22ae529112c085f0402cb0887cb7ac23..e4b12f7e8a746cd008244c19462dab9824192d5c 100644
--- a/aql2/src/prompt/ReadlineCharSequence.h
+++ b/aql2/src/prompt/ReadlineCharSequence.h
@@ -56,6 +56,14 @@ public:
 		fetch ( true );
 	}
 
+	ReadlineCharSequence ( ReadlineCharSequence && ) = default;
+
+	ReadlineCharSequence ( const ReadlineCharSequence & ) = delete;
+
+	ReadlineCharSequence & operator = ( ReadlineCharSequence && ) = delete;
+
+	ReadlineCharSequence & operator = ( const ReadlineCharSequence & ) = delete;
+
 	virtual std::string getLine ( ) const override {
 		std::string res;
 		for ( const std::string & line : m_lines ) {