Index: trunk/FACT++/src/makeschedule.cc
===================================================================
--- trunk/FACT++/src/makeschedule.cc	(revision 18414)
+++ trunk/FACT++/src/makeschedule.cc	(revision 18418)
@@ -216,4 +216,27 @@
         return penalty*ratio*pow(current/6.2, 0.394);
     }
+
+    bool calcThreshold(const SolarObjects &so)
+    {
+        const HrzPosn hrz     = GetHrzFromEqu(equ, so.fJD);
+        const double  current = FACT::PredictI(so, equ);
+
+        if (current>max_current)
+            return false;
+
+        if (hrz.alt<=0 || 90-hrz.alt>max_zd)
+            return false;
+
+        if (maxzd.valid && 90-hrz.alt>maxzd.val)
+            return false;
+
+        if (maxcurrent.valid && current>maxcurrent.val)
+            return false;
+
+        const double ratio = pow(cos((90-hrz.alt)*M_PI/180), -2.664);
+        threshold = penalty*ratio*pow(current/6.2, 0.394);
+
+        return true;
+    }
 };
 
@@ -565,5 +588,5 @@
         for (auto& src: sources)
         {
-            if (src.valid(so))
+            if (src.calcThreshold(so))
                 vis.emplace_back(src);
         }
@@ -608,4 +631,5 @@
     // ---------------------------------------------------------------------
 
+    cout << endl;
     Print(obs, startup_offset);
     cout << endl;
