diff --git a/alib2algo/src/string/properties/PeriodicPrefix.h b/alib2algo/src/string/properties/PeriodicPrefix.h
index c1612c95ea9f6f5e299f46aa443008d197a19f95..85d252dc312d32abf2cedce9a6103a3cdfd84160 100644
--- a/alib2algo/src/string/properties/PeriodicPrefix.h
+++ b/alib2algo/src/string/properties/PeriodicPrefix.h
@@ -22,9 +22,9 @@ public:
 };
 
 namespace {
-    // return period if pattern is periodic, else -1
+    // return period if pattern is periodic, else length of x
     template <class SymbolType>
-    ssize_t hasShortPeriod ( const ext::vector<SymbolType>& x , size_t prefixLen ) {
+    size_t hasShortPeriod ( const ext::vector<SymbolType>& x , size_t prefixLen ) {
         for ( size_t per = 1 ; per <= prefixLen/2 ; ++ per ){
             bool hasPer = true ;
             for ( size_t i = per ; i < prefixLen ; ++ i ) {
@@ -32,7 +32,7 @@ namespace {
             }
             if ( hasPer ) return per ;
         }
-        return -1 ;
+        return x.size ( ) ;
     }
 }
 
@@ -43,7 +43,7 @@ ext::pair<ssize_t, ssize_t > PeriodicPrefix::construct(const string::LinearStrin
 	ssize_t maxlen = -1 , maxper = -1 ;
 	for ( size_t i = 1 ; i <= x.size() ; ++ i ) {
 	    auto per = hasShortPeriod(x , i) ;
-	    if ( per != -1 ) {
+	    if ( per != x.size ( ) ) {
 	        maxlen = i ;
 	        maxper = per ;
 	    }