diff --git a/modules/ml/src/svm.cpp b/modules/ml/src/svm.cpp
index b74df5f0a4e4c7138294f80bbcd97c6839e37c01..449eb8dcd49234c2c7849bd728e51c4eeb303a6d 100644
--- a/modules/ml/src/svm.cpp
+++ b/modules/ml/src/svm.cpp
@@ -1787,7 +1787,7 @@ public:
                 if( !do_train( temp_train_samples, temp_train_responses ))
                     continue;
 
-				for (i = 0; i < train_sample_count; i++)
+                for( i = 0; i < test_sample_count; i++ )
                 {
                     j = sidx[(i+start+train_sample_count) % sample_count];
                     memcpy(temp_train_samples.ptr(i), samples.ptr(j), sample_size);