diff --git a/src/main/java/no/nibio/vips/logic/service/LogicService.java b/src/main/java/no/nibio/vips/logic/service/LogicService.java
index 04a9b89ecd9d5b299ad3d6a0bb126bad91c4c06b..1709b624e2be9d3c0508b431149cd1d57ce19f6a 100644
--- a/src/main/java/no/nibio/vips/logic/service/LogicService.java
+++ b/src/main/java/no/nibio/vips/logic/service/LogicService.java
@@ -22,6 +22,7 @@ package no.nibio.vips.logic.service;
 import com.ibm.icu.util.ULocale;
 import java.util.TimeZone;
 import de.micromata.opengis.kml.v_2_2_0.Kml;
+import java.text.DateFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -487,7 +488,29 @@ public class LogicService {
         return Response.ok().entity(observations).build();
     }
     
-    
+    /**
+     * Service available locally for cron jobs. Most useful on test servers
+     * @return 
+     */
+    @GET
+    @Path("batch/updateforecastcaches")
+    @Produces("text/plain;charset=UTF-8")
+    public Response updateForecastCaches()
+    {
+        //System.out.println(httpServletRequest.getHeader("X-Forwarded-For"));
+        if(!ServletUtil.getClientIP(httpServletRequest).equals("127.0.0.1"))
+        {
+            return Response.status(Response.Status.UNAUTHORIZED).build();
+        }
+        Date start = new Date();
+        SessionControllerGetter.getForecastBean().updateForecastResultCacheTable();
+        SessionControllerGetter.getForecastBean().updateForecastSummaryTable(SystemTime.getSystemTime());
+        Long timeLapsed = new Date().getTime() - start.getTime();
+        DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+        return Response.ok().entity("Forecast caches were successfully updated with data from today (" 
+                + format.format(SystemTime.getSystemTime()) 
+                + "). Time spent=" + timeLapsed + " milliseconds.\n").build();
+    }
     
     private ManagerResource getManagerResource()
     {