diff --git a/src/main/java/no/nibio/vips/logic/controller/session/SchedulingBean.java b/src/main/java/no/nibio/vips/logic/controller/session/SchedulingBean.java
index 4c915c51f61069e73ceb0851decc6293166dcf78..04223b879171785c2563151f4feffef67d774258 100644
--- a/src/main/java/no/nibio/vips/logic/controller/session/SchedulingBean.java
+++ b/src/main/java/no/nibio/vips/logic/controller/session/SchedulingBean.java
@@ -160,10 +160,11 @@ public class SchedulingBean {
         // at creation time.
         
         // Running all forecasts every hour:30
-        VIPSLogicTaskCollector testCollector = new VIPSLogicTaskCollector(-1);
+        VIPSLogicTaskCollector modelRunCollector = new VIPSLogicTaskCollector(-1);
         SchedulingPattern halfPastPattern = new SchedulingPattern("30 * * * *");
-        testCollector.getTasks().add(halfPastPattern, VipsLogicTaskFactory.createVipsLogicTask(VipsLogicTaskFactory.RUN_ALL_FORECAST_CONFIGURATIONS_TASK));
-        testCollector.getTasks().add(halfPastPattern, VipsLogicTaskFactory.createVipsLogicTask(VipsLogicTaskFactory.UPDATE_MODEL_INFORMATION_TASK));
+        modelRunCollector.getTasks().add(halfPastPattern, VipsLogicTaskFactory.createVipsLogicTask(VipsLogicTaskFactory.RUN_ALL_FORECAST_CONFIGURATIONS_TASK));
+        modelRunCollector.getTasks().add(halfPastPattern, VipsLogicTaskFactory.createVipsLogicTask(VipsLogicTaskFactory.UPDATE_MODEL_INFORMATION_TASK));
+        modelRunCollector.getTasks().add(halfPastPattern, VipsLogicTaskFactory.createVipsLogicTask(VipsLogicTaskFactory.SEND_FORECAST_EVENT_NOTIFICATIONS_TASK));
         
         // Update forecast cache
         VIPSLogicTaskCollector cacheHandlerCollector = new VIPSLogicTaskCollector(-1);
@@ -180,8 +181,10 @@ public class SchedulingBean {
         SchedulingPattern everyNightPattern = new SchedulingPattern("0 6 * * *");
         deleteAllExpiredUserUuidsCollector.getTasks().add(everyNightPattern, VipsLogicTaskFactory.createVipsLogicTask(VipsLogicTaskFactory.DELETE_ALL_EXPIRED_UUIDS_TASK));
         
+        
+        
         List<TaskCollector> definedTasks = new ArrayList<>();
-        definedTasks.add(testCollector);
+        definedTasks.add(modelRunCollector);
         definedTasks.add(cacheHandlerCollector);
         definedTasks.add(summariesCollector);
         definedTasks.add(deleteAllExpiredUserUuidsCollector);
diff --git a/src/main/java/no/nibio/vips/logic/entity/VipsLogicUser.java b/src/main/java/no/nibio/vips/logic/entity/VipsLogicUser.java
index f8cd30b4093b40eed53004800a4abd5e3754c828..856f3463ee85bc290a78eba0c98121ee31360211 100644
--- a/src/main/java/no/nibio/vips/logic/entity/VipsLogicUser.java
+++ b/src/main/java/no/nibio/vips/logic/entity/VipsLogicUser.java
@@ -295,6 +295,17 @@ public class VipsLogicUser implements Serializable {
         return false;
     }
     
+    @JsonIgnore
+    @Transient
+    public boolean isAppleFruitMothAdministrator(){
+        for (VipsLogicRole role : this.getVipsLogicRoles()) {
+            if (role.getVipsLogicRoleId().equals(VipsLogicRole.APPLE_FRUIT_MOTH_ADMINISTRATOR)) {
+                return true;
+            }
+        }
+        return false;
+    }
+    
     @JsonIgnore
     @Transient
     public boolean isMessageAuthor(){
diff --git a/src/main/java/no/nibio/vips/logic/modules/applefruitmoth/AppleFruitMothController.java b/src/main/java/no/nibio/vips/logic/modules/applefruitmoth/AppleFruitMothController.java
index bab4f38b0cd9a0629560955c83b8d66a12c7dde8..5e9295f241dd5dcb0ed292fd60b45d3ec8193572 100644
--- a/src/main/java/no/nibio/vips/logic/modules/applefruitmoth/AppleFruitMothController.java
+++ b/src/main/java/no/nibio/vips/logic/modules/applefruitmoth/AppleFruitMothController.java
@@ -83,6 +83,7 @@ public class AppleFruitMothController extends HttpServlet {
                     }
                     request.setAttribute("currentSeason", currentSeason);
                     request.setAttribute("lastSeason", lastSeason);
+                    request.setAttribute("messageKey", request.getParameter("messageKey"));
                     request.getRequestDispatcher("/appleFruitMothStationForm.ftl").forward(request, response);
                 }
                 catch(NullPointerException | NumberFormatException ex)
diff --git a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts.properties b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts.properties
index f844c3b7b22396677c1e257ba99962a2928dde69..3115b3c8478e59a213c31f13d180f15ccc00783c 100644
--- a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts.properties
+++ b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts.properties
@@ -304,10 +304,10 @@ notificationSubscriptionDescription=You can subscribe to different kinds of noti
 messageFormat=Message format
 Mail=Email
 Sms=SMS
-forecastNotificationMessageBodyTpl_1=Forecast warning status has turned to high risk of infection for {0} in {1} at location {2} at date {3}. Model: {4}. To read details, please visit: {5}
-forecastNotificationMessageBodyTpl_2=Forecast warning status has turned to moderate risk of infection for {0} in {1} at location {2} at date {3}. Model: {4}. To read details, please visit: {5}
-forecastNotificationMessageHeadingTpl_1=Notification of high risk of infection
-forecastNotificationMessageHeadingTpl_2=Notification of moderate infection risk
+forecastNotificationMessageBodyTpl_1=This is for {0} in {1} at location {2} at date {3}. Details: {4}
+forecastNotificationMessageBodyTpl_2=This is for {0} in {1} at location {2} at date {3}.Read more: {4}
+forecastNotificationMessageHeadingTpl_1=High risk of infection
+forecastNotificationMessageHeadingTpl_2=Moderate infection risk
 task_SendForecastEventNotificationsTask_name=Send forecast event notifications
 task_SendForecastEventNotificationsTask_description=Checks to see if there has been changes in forecasts to YELLOW or RED status. If so, finds subscribers to such events and sends notifications
 preferredLocale=Preferred locale
@@ -384,3 +384,4 @@ newObservationSitePoint=New observation site point
 observationSitePointName=Observation site point name
 appleFruitMothChangeSeasonConfirm=Are you sure you want to change season? All unsaved data for the current season will be lost.
 observationSiteStored=Observation site was successfully updated
+appleFruitMoth=Apple fruit moth
diff --git a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_bs.properties b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_bs.properties
index 882a0bd1ee1bce0dafb941cc12da8fe460096708..5c454e49b94b48c0426a9691574ac3ab88d5a0ab 100644
--- a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_bs.properties
+++ b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_bs.properties
@@ -304,8 +304,8 @@ notificationSubscriptionDescription=You can subscribe to different kinds of noti
 messageFormat=Message format
 Mail=Email
 Sms=SMS
-forecastNotificationMessageBodyTpl_1=Forecast warning status has turned to high risk of infection for {0} in {1} at location {2} at date {3}. Model: {4}. To read details, please visit: {5}
-forecastNotificationMessageBodyTpl_2=Forecast warning status has turned to moderate risk of infection for {0} in {1} at location {2} at date {3}. Model: {4}. To read details, please visit: {5}
+forecastNotificationMessageBodyTpl_1=This is for {0} in {1} at location {2} at date {3}. Details: {4}
+forecastNotificationMessageBodyTpl_2=This is for {0} in {1} at location {2} at date {3}.Read more: {4}
 forecastNotificationMessageHeadingTpl_1=Notification of high risk of infection
 forecastNotificationMessageHeadingTpl_2=Notification of moderate infection risk
 task_SendForecastEventNotificationsTask_name=Send forecast event notifications
@@ -384,3 +384,4 @@ newObservationSitePoint=New observation site point
 observationSitePointName=Observation site point name
 appleFruitMothChangeSeasonConfirm=Are you sure you want to change season? All unsaved data for the current season will be lost.
 observationSiteStored=Observation site was successfully updated
+appleFruitMoth=Apple fruit moth
diff --git a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_hr.properties b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_hr.properties
index 3aa5fef7c5c701c9e63dd421156409c673d19967..572e90ac1443ebb11af86126c091e45843341c6d 100644
--- a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_hr.properties
+++ b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_hr.properties
@@ -303,8 +303,8 @@ notificationSubscriptionDescription=You can subscribe to different kinds of noti
 messageFormat=Message format
 Mail=Email
 Sms=SMS
-forecastNotificationMessageBodyTpl_1=Forecast warning status has turned to high risk of infection for {0} in {1} at location {2} at date {3}. Model: {4}. To read details, please visit: {5}
-forecastNotificationMessageBodyTpl_2=Forecast warning status has turned to high risk of infection for {0} in {1} at location {2} at date {3}. Model: {4}. To read details, please visit: {5}
+forecastNotificationMessageBodyTpl_1=This is for {0} in {1} at location {2} at date {3}. Details: {4}
+forecastNotificationMessageBodyTpl_2=This is for {0} in {1} at location {2} at date {3}.Read more: {4}
 forecastNotificationMessageHeadingTpl_1=Notification of high risk of infection
 forecastNotificationMessageHeadingTpl_2=Notification of moderate infection risk
 task_SendForecastEventNotificationsTask_name=Send forecast event notifications
@@ -383,3 +383,4 @@ newObservationSitePoint=New observation site point
 observationSitePointName=Observation site point name
 appleFruitMothChangeSeasonConfirm=Are you sure you want to change season? All unsaved data for the current season will be lost.
 observationSiteStored=Observation site was successfully updated
+appleFruitMoth=Apple fruit moth
diff --git a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_nb.properties b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_nb.properties
index 8d12d3c83954c721aecbebc37809fc725cce041a..5bf024b799585b71c5ff53682646dfd573bdedf7 100644
--- a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_nb.properties
+++ b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_nb.properties
@@ -304,10 +304,10 @@ notificationSubscriptionDescription=Du kan abonnere p\u00e5 ulike typer meldinge
 messageFormat=Meldingsformat
 Mail=E-post
 Sms=SMS
-forecastNotificationMessageBodyTpl_1=Varselstatus er endret til h\u00f8y infeksjonsrisiko for {0} i {1} ved {2}, tidspunkt {3}. Modell: {4}. For \u00e5 lese detaljer, vennligst bes\u00f8k:{5}
-forecastNotificationMessageBodyTpl_2=Varselstatus er endret til moderat infeksjonsrisiko for {0} i {1} ved {2}, tidspunkt {3}. Modell: {4}. For \u00e5 lese detaljer, vennligst bes\u00f8k:{5}
-forecastNotificationMessageHeadingTpl_1=Melding om h\u00f8y infeksjonsrisiko
-forecastNotificationMessageHeadingTpl_2=Melding om moderat infeksjonsrisiko
+forecastNotificationMessageBodyTpl_1=Gjelder {0} i {1} ved {2}, {3}. Les mer:{4}
+forecastNotificationMessageBodyTpl_2=Gjelder {0} i {1} ved {2}, {3}. Les mer:{4}
+forecastNotificationMessageHeadingTpl_1=H\u00f8y infeksjonsrisiko
+forecastNotificationMessageHeadingTpl_2=Moderat infeksjonsrisiko
 task_SendForecastEventNotificationsTask_name=Send meldinger om endringer i varsel
 task_SendForecastEventNotificationsTask_description=Ser om varsler har endret set til GUL eller R\u00d8D status. I tilfelle s\u00f8kes abonnenter opp og meldinger blir distribuert.
 preferredLocale=Foretrukket spr\u00e5k
@@ -384,3 +384,4 @@ newObservationSitePoint=Nytt observasjonsstedspunkt
 observationSitePointName=Navn p\u00e5 observasjonsstedspunkt
 appleFruitMothChangeSeasonConfirm=Er du sikker p\u00e5 at du vil endre sesong? Alle ulagrede data for innev\u00e6rende sesong vil g\u00e5 tapt.
 observationSiteStored=Rogneb\u00e6rm\u00f8llstasjonen ble oppdatert
+appleFruitMoth=Rogneb\u00e6rm\u00f8ll
diff --git a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_sr.properties b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_sr.properties
index 7196da2cfd9e52f31f01ef577232fc95a53a6e9a..aa0df1cd539b77fd64589171222cf9aea95b6169 100644
--- a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_sr.properties
+++ b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_sr.properties
@@ -304,8 +304,8 @@ notificationSubscriptionDescription=You can subscribe to different kinds of noti
 messageFormat=Message format
 Mail=Email
 Sms=SMS
-forecastNotificationMessageBodyTpl_1=Forecast warning status has turned to high risk of infection for {0} in {1} at location {2} at date {3}. Model: {4}. To read details, please visit: {5}
-forecastNotificationMessageBodyTpl_2=Forecast warning status has turned to moderate risk of infection for {0} in {1} at location {2} at date {3}. Model: {4}. To read details, please visit: {5}
+forecastNotificationMessageBodyTpl_1=This is for {0} in {1} at location {2} at date {3}. Details: {4}
+forecastNotificationMessageBodyTpl_2=This is for {0} in {1} at location {2} at date {3}.Read more: {4}
 forecastNotificationMessageHeadingTpl_1=Notification of high risk of infection
 forecastNotificationMessageHeadingTpl_2=Notification of moderate infection risk
 task_SendForecastEventNotificationsTask_name=Send forecast event notifications
@@ -384,3 +384,4 @@ newObservationSitePoint=New observation site point
 observationSitePointName=Observation site point name
 appleFruitMothChangeSeasonConfirm=Are you sure you want to change season? All unsaved data for the current season will be lost.
 observationSiteStored=Observation site was successfully updated
+appleFruitMoth=Apple fruit moth
diff --git a/src/main/webapp/templates/appleFruitMothStationForm.ftl b/src/main/webapp/templates/appleFruitMothStationForm.ftl
index 703a236ac854b7d91d8fc1b5ead0b5a20119ebab..0bbfcd865de74a7efeaaa0b2ee6023799b3c64ec 100644
--- a/src/main/webapp/templates/appleFruitMothStationForm.ftl
+++ b/src/main/webapp/templates/appleFruitMothStationForm.ftl
@@ -41,6 +41,9 @@
 	<div class="row">
 		<div class="col-md-6">
 			<#assign formId = "observationSiteForm">
+			<#if messageKey?has_content>
+				<div class="alert alert-success">${i18nBundle(messageKey)}</div>
+			</#if>
 			<form id="${formId}" role="form" action="/applefruitmoth?action=observationSiteSubmit" method="POST">
 				<input type="hidden" name="observationSiteId" value="${observationSite.observationSiteId}"/>
 				<div class="form-group">
diff --git a/src/main/webapp/templates/appleFruitMothStationList.ftl b/src/main/webapp/templates/appleFruitMothStationList.ftl
index ed29b731c14ebbeeea6103ab06b8e6c298b0cae1..574e345974dce9b5d1332a41ab115ecb2d7c7445 100644
--- a/src/main/webapp/templates/appleFruitMothStationList.ftl
+++ b/src/main/webapp/templates/appleFruitMothStationList.ftl
@@ -34,6 +34,7 @@
 	</script>
 </#macro>
 <#macro page_contents>
+<h1>${i18nBundle.appleFruitMoth}</h1>
 <div class="singleBlockContainer">
 	<div class="row">
 		<div class="col-md-6">
diff --git a/src/main/webapp/templates/master.ftl b/src/main/webapp/templates/master.ftl
index c55a8bf16aa64ed3ab641499ed611e13484b2c1e..030bbc2d57d58e2d10a285a9f96855e842c95d6b 100644
--- a/src/main/webapp/templates/master.ftl
+++ b/src/main/webapp/templates/master.ftl
@@ -62,6 +62,9 @@
 		  	<li><a href="/observation">${i18nBundle.observations}</a></li>
 		  </#if>
 		  <li><a href="/forecastConfiguration">${i18nBundle.forecasts}</a></li>
+		  <#if user.isOrganizationAdmin() || user.isSuperUser() || user.isAppleFruitMothAdministrator()>
+		  	<li><a href="/applefruitmoth">${i18nBundle.appleFruitMoth}</a></li>
+		  </#if>
 		</ul>
 	      </li>
 	      <li><a href="/userguide/VIPSLogic_user_guide.html">${i18nBundle.help}</a></li>