diff --git a/src/main/java/org/orekit/models/earth/atmosphere/data/CssiSpaceWeatherData.java b/src/main/java/org/orekit/models/earth/atmosphere/data/CssiSpaceWeatherData.java
index 793ef2230..3d7fbe519 100644
--- a/src/main/java/org/orekit/models/earth/atmosphere/data/CssiSpaceWeatherData.java
+++ b/src/main/java/org/orekit/models/earth/atmosphere/data/CssiSpaceWeatherData.java
@@ -21,11 +21,13 @@ import java.util.List;
 import java.util.stream.Collectors;
 
 import org.orekit.annotation.DefaultDataContext;
+import org.orekit.bodies.CelestialBody;
 import org.orekit.data.AbstractSelfFeedingLoader;
 import org.orekit.data.DataContext;
 import org.orekit.data.DataProvidersManager;
 import org.orekit.errors.OrekitException;
 import org.orekit.errors.OrekitMessages;
+import org.orekit.frames.Frame;
 import org.orekit.models.earth.atmosphere.DTM2000InputParameters;
 import org.orekit.models.earth.atmosphere.NRLMSISE00InputParameters;
 import org.orekit.models.earth.atmosphere.data.CssiSpaceWeatherDataLoader.LineParameters;
@@ -81,6 +83,12 @@ public class CssiSpaceWeatherData extends AbstractSelfFeedingLoader
     /** Last available date. */
     private final AbsoluteDate lastDate;
 
+    /** Sun celestial body. */
+    private final CelestialBody sun;
+
+    /** GCRF frame. */
+    private final Frame gcrf;
+
     /** Previous set of solar activity parameters. */
     private LineParameters previousParam;
 
@@ -101,7 +109,9 @@ public class CssiSpaceWeatherData extends AbstractSelfFeedingLoader
     @DefaultDataContext
     public CssiSpaceWeatherData(final String supportedNames) {
         this(supportedNames, DataContext.getDefault().getDataProvidersManager(),
-             DataContext.getDefault().getTimeScales().getUTC());
+             DataContext.getDefault().getTimeScales().getUTC(),
+             DataContext.getDefault().getCelestialBodies().getSun(),
+             DataContext.getDefault().getFrames().getGCRF());
     }
 
     /**
@@ -111,13 +121,18 @@ public class CssiSpaceWeatherData extends AbstractSelfFeedingLoader
      * @param supportedNames       regular expression for supported AGI/CSSI space weather files names
      * @param dataProvidersManager provides access to auxiliary data files.
      * @param utc                  UTC time scale.
+     * @param sun                  sun celestial body
+     * @param gcrf                 GCRF frame
      */
     public CssiSpaceWeatherData(final String supportedNames,
                                 final DataProvidersManager dataProvidersManager,
-                                final TimeScale utc) {
+                                final TimeScale utc, final CelestialBody sun,
+                                final Frame gcrf) {
         super(supportedNames, dataProvidersManager);
 
-        this.utc = utc;
+        this.utc  = utc;
+        this.sun  = sun;
+        this.gcrf = gcrf;
         final CssiSpaceWeatherDataLoader loader =
             new CssiSpaceWeatherDataLoader(utc);
         this.feed(loader);
@@ -139,6 +154,17 @@ public class CssiSpaceWeatherData extends AbstractSelfFeedingLoader
         return lastDate;
     }
 
+    /** Compute ratio between adjusted flux (at 1AU) and observed flux
+     * (at current Earth-Sun distance).
+     *  @param date current date
+     *  @return r such that flux_current_distance = r * flux_1au
+     */
+    public double fluxRatio(final AbsoluteDate date) {
+        final double f = Constants.IAU_2012_ASTRONOMICAL_UNIT /
+                         sun.getPVCoordinates(date, gcrf).getPosition().getNorm();
+        return f * f;
+    }
+
     /**
      * Find the data bracketing a specified date.
      *
@@ -271,14 +297,15 @@ public class CssiSpaceWeatherData extends AbstractSelfFeedingLoader
 
     /** {@inheritDoc} */
     public double getAverageFlux(final AbsoluteDate date) {
+        final double r = fluxRatio(date);
         if (date.compareTo(lastDailyPredictedDate) <= 0) {
             bracketDate(date);
-            return previousParam.getCtr81Adj();
+            return r * previousParam.getCtr81Adj();
         } else {
             // Only monthly data is available, better interpolate between two months
             // get the neighboring dates
             bracketDate(date);
-            return getLinearInterpolation(date, previousParam.getCtr81Adj(), nextParam.getCtr81Adj());
+            return r * getLinearInterpolation(date, previousParam.getCtr81Adj(), nextParam.getCtr81Adj());
         }
     }
 
