Index: trunk/FACT++/src/makedata.cc
===================================================================
--- trunk/FACT++/src/makedata.cc	(revision 16985)
+++ trunk/FACT++/src/makedata.cc	(revision 16996)
@@ -141,6 +141,9 @@
         const HrzPosn hrzm = GetHrzFromEqu(moon, jd+h);
 
-        // Distance between source and moon
+        // Angular distance between source and moon
         const double angle = GetAngularSeparation(moon, pos);
+
+        // Distance between earth and moon relative to major semi-axis
+        const double dist  = GetLunarEarthDist(jd+h)/384400;
 
         // Current prediction
@@ -148,6 +151,6 @@
         const double calt = sin(hrzm.alt*M_PI/180);
 
-        const double lc = cang==0 ? -1 : calt*pow(disk, 3)/sqrt(cang);
-        const double cur = lc>0 ? 8.1+94.6*lc : 8.1;
+        const double lc = cang==0 ? -1 : calt*pow(disk, 2.2)*pos(dist, -2);
+        const double cur = lc>0 ? 4+103*lc : 4;
 
         // Relative  energy threshold prediction
Index: trunk/FACT++/src/makeplots.cc
===================================================================
--- trunk/FACT++/src/makeplots.cc	(revision 16985)
+++ trunk/FACT++/src/makeplots.cc	(revision 16996)
@@ -277,10 +277,13 @@
             const double angle = GetAngularSeparation(moon, pos);
 
+            // Distance between earth and moon relative to major semi-axis
+            const double dist  = GetLunarEarthDist(jd+h)/384400;
+
             // Current prediction
             const double cang = sin(angle   *M_PI/180);
             const double calt = sin(hrzm.alt*M_PI/180);
 
-            const double lc = cang==0 ? -1 : calt*pow(disk, 3)/sqrt(cang);
-            const double cur = lc>0 ? 8.1+94.6*lc : 8.1;
+            const double lc = cang==0 ? -1 : calt*pow(disk, 2.2)*pow(dist, -2);
+            const double cur = lc>0 ? 4+103*lc : 4;
 
             // Relative  energy threshold prediction
Index: trunk/FACT++/src/smartfact.cc
===================================================================
--- trunk/FACT++/src/smartfact.cc	(revision 16985)
+++ trunk/FACT++/src/smartfact.cc	(revision 16996)
@@ -2002,17 +2002,11 @@
 
                 const Nova::HrzPosn hrz = Nova::GetHrzFromEqu(moon, jd+h);
-
-                Moon m;
-                m.ra  = moon.ra;
-                m.dec = moon.dec;
-
-                const double angle = m.Angle(src->ra/15, src->dec);
+                const double dist  = Nova::GetLunarEarthDist(jd+h);
 
                 // Current prediction
-                const double cang = sin(angle  *M_PI/180);
                 const double calt = sin(hrz.alt*M_PI/180);
 
-                const double lc = calt>0 ? cang*sqrt(calt)*pow(disk, 3) : -1;
-                cur = lc>0 ? 8+104.5*lc : -1;
+                const double lc = calt>0 ? calt*pow(disk, 2.2)*pow(dist, -2) : -1;
+                cur = lc>0 ? 4+103*lc : -1;
 
                 vec.push_back(cur); // Covert LC to pixel current in uA
