diff --git a/modules/ml/src/ertrees.cpp b/modules/ml/src/ertrees.cpp
index 0ddd51ad836b44b780a68304f7a96ff8d52ba7a9..b38aa34e2d7bf86688d73483edfc70f9839bfb4d 100644
--- a/modules/ml/src/ertrees.cpp
+++ b/modules/ml/src/ertrees.cpp
@@ -1367,7 +1367,7 @@ void CvForestERTree::split_node_data( CvDTreeNode* node )
         data->get_ord_var_data( node, vi, values_buf, missing_buf, &values, &missing, 0 );
 
         for( i = 0; i < n; i++ )
-            nr1 += (!missing[i] & dir[i]);
+            nr1 += ((!missing[i]) & dir[i]);
         left->set_num_valid(vi, n1 - nr1);
         right->set_num_valid(vi, nr1);                
     }