diff --git a/alib2algo/src/automaton/simplify/Total.h b/alib2algo/src/automaton/simplify/Total.h
index 954eb25bdc4bcbca83b7f538a5838be6c098e98d..453887a645cd1f6342a8dc3494def346c8841f4c 100644
--- a/alib2algo/src/automaton/simplify/Total.h
+++ b/alib2algo/src/automaton/simplify/Total.h
@@ -81,6 +81,9 @@ template < class T >
 ext::require < isDFA < T > || isNFA < T >, T > Total::total ( const T & automaton ) {
 	using StateType = typename T::StateType;
 
+	if ( automaton.isTotal ( ) )
+		return automaton;
+
 	T res ( automaton );
 	StateType nullState = common::createUnique ( label::FailStateLabel::instance < StateType > ( ), automaton.getStates ( ) );
 	res.addState ( nullState );