diff --git a/alib2algo/src/stringology/cover/RelaxedApproximateEnhancedCoversComputation.h b/alib2algo/src/stringology/cover/RelaxedApproximateEnhancedCoversComputation.h
index 3e617bf8d745bb19653f0d6f88aef7f648bcd795..5a8f86668e750463c62a00d4806e1ce889151100 100644
--- a/alib2algo/src/stringology/cover/RelaxedApproximateEnhancedCoversComputation.h
+++ b/alib2algo/src/stringology/cover/RelaxedApproximateEnhancedCoversComputation.h
@@ -83,13 +83,11 @@ void RelaxedApproximateEnhancedCoversComputation::processState ( const string::L
 				isFactor = true;
 			}
 
-		if ( ( currState->elements.size ( ) > 1 ) && ( currState->elements[0].depth == currState->depth ) ) {
-			if ( isFactor ) {
-				if ( ( currState->elements[currState->elements.size ( ) - 1].depth == x.getContent ( ).size ( ) ) && ( currState->depth > k ) )
-					updateEnhCov ( currState, covers, h );
+		if ( ( currState->elements.size ( ) > 1 ) && ( ( currState->elements[0].depth == currState->depth ) && isFactor ) ) {
+			if ( ( currState->elements[currState->elements.size ( ) - 1].depth == x.getContent ( ).size ( ) ) && ( currState->depth > k ) )
+				updateEnhCov ( currState, covers, h );
 
-				processState ( x, k, currState, covers, h );
-			}
+			processState ( x, k, currState, covers, h );
 		}
 
 		delete currState;