diff --git a/src/feature_creation/feature_space/FeatureSpace.cpp b/src/feature_creation/feature_space/FeatureSpace.cpp
index 2585db170384d660f75a77bcefda4386e4b5bd5b..7796e1a85714037344b10e534b4023eb5b49aa93 100644
--- a/src/feature_creation/feature_space/FeatureSpace.cpp
+++ b/src/feature_creation/feature_space/FeatureSpace.cpp
@@ -426,6 +426,10 @@ void FeatureSpace::project_generated(double* prop, int size, std::vector<node_pt
         std::vector<int> inds = util_funcs::argsort(scores);
 
         int ii = 0;
+
+        while(_scores[inds[ii]] < -1.0)
+            ++ii;
+
         while((ii < inds.size()) && (scores[inds[ii]] < worst_score))
         {
             double cur_score = scores[inds[ii]];
@@ -526,6 +530,9 @@ void FeatureSpace::sis(std::vector<double>& prop)
     int cur_feat_local = 0;
     double cur_score = 0.0;
 
+    while(_scores[inds[ii]] < -1.0)
+        ++ii;
+
     std::vector<double> scores_prev_sel;
     if(node_value_arrs::N_SELECTED > _n_sis_select)
     {