diff --git a/src/main/java/no/nibio/vips/logic/controller/session/ObservationBean.java b/src/main/java/no/nibio/vips/logic/controller/session/ObservationBean.java
index 6ac249a898286a269b87bb31b8795ea93e9ced03..356e7c92270881ee360253bb0dcd4629d543ab2a 100755
--- a/src/main/java/no/nibio/vips/logic/controller/session/ObservationBean.java
+++ b/src/main/java/no/nibio/vips/logic/controller/session/ObservationBean.java
@@ -20,27 +20,24 @@
 package no.nibio.vips.logic.controller.session;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
-import com.vividsolutions.jts.geom.Geometry;
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Calendar;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.TimeZone;
 import javax.ejb.Stateless;
 import javax.persistence.EntityManager;
-import javax.persistence.NoResultException;
 import javax.persistence.PersistenceContext;
 import javax.persistence.Query;
 import no.nibio.vips.logic.entity.CropCategory;
 import no.nibio.vips.logic.entity.Gis;
-import no.nibio.vips.logic.entity.Message;
-import no.nibio.vips.logic.entity.MessageIllustration;
-import no.nibio.vips.logic.entity.MessageIllustrationPK;
 import no.nibio.vips.logic.entity.Observation;
 import no.nibio.vips.logic.entity.ObservationFormShortcut;
 import no.nibio.vips.logic.entity.ObservationIllustration;
@@ -51,7 +48,6 @@ import no.nibio.vips.logic.entity.Organization;
 import no.nibio.vips.logic.entity.PointOfInterest;
 import no.nibio.vips.logic.entity.VipsLogicUser;
 import no.nibio.vips.logic.util.SessionControllerGetter;
-import no.nibio.vips.observationdata.ObservationDataSchema;
 import org.apache.commons.fileupload.FileItem;
 import org.apache.commons.io.FilenameUtils;
 import org.wololo.geojson.Feature;
@@ -238,17 +234,34 @@ public class ObservationBean {
         em.remove(observation);
     }
 
-    public List<Observation> getBroadcastObservations(Integer organizationId) {
+    public List<Observation> getBroadcastObservations(Integer organizationId, Integer season) {
         Organization organization= em.find(Organization.class, organizationId);
         /*List<VipsLogicUser> users = em.createNamedQuery("VipsLogicUser.findByOrganizationId", VipsLogicUser.class)
                                         .setParameter("organizationId", organization)
-                                        .getResultList();*/
-        
-        List<Observation> retVal = this.getObservationsWithGeoInfo(em.createNamedQuery("Observation.findByOrganizationIdAndStatusTypeIdAndBroadcastMessage")
-                .setParameter("organizationId", organization)
-                .setParameter("statusTypeId", Observation.STATUS_TYPE_ID_APPROVED)
-                .getResultList());
         
+        .getResultList();*/
+        List<Observation> retVal = null;
+        if(season == null)
+        {
+             retVal = this.getObservationsWithGeoInfo(em.createNamedQuery("Observation.findByOrganizationIdAndStatusTypeIdAndBroadcastMessage")
+                    .setParameter("organizationId", organization)
+                    .setParameter("statusTypeId", Observation.STATUS_TYPE_ID_APPROVED)
+                    .getResultList());
+        }
+        else
+        {
+            Calendar cal = Calendar.getInstance();
+            cal.set(season, Calendar.JANUARY, 1, 0, 0, 0);
+            Date start = cal.getTime();
+            cal.set(season, Calendar.DECEMBER, 31, 23, 59, 59);
+            Date end = cal.getTime();
+            retVal = this.getObservationsWithGeoInfo(em.createNamedQuery("Observation.findByOrganizationIdAndStatusTypeIdAndBroadcastMessageAndSeason")
+                    .setParameter("organizationId", organization)
+                    .setParameter("statusTypeId", Observation.STATUS_TYPE_ID_APPROVED)
+                    .setParameter("start", start)
+                    .setParameter("end", end)
+                    .getResultList());
+        }
         return retVal;
     }
     /**
diff --git a/src/main/java/no/nibio/vips/logic/controller/session/UserBean.java b/src/main/java/no/nibio/vips/logic/controller/session/UserBean.java
index 545a8de8a202f1d4ce46c3f035fb28c636797bc3..dc8825c0ac5c1331e6d7fa346ea8c61f4c9f3c19 100755
--- a/src/main/java/no/nibio/vips/logic/controller/session/UserBean.java
+++ b/src/main/java/no/nibio/vips/logic/controller/session/UserBean.java
@@ -21,8 +21,6 @@ package no.nibio.vips.logic.controller.session;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import com.ibm.icu.util.Calendar;
-import com.ibm.icu.util.TimeZone;
 import com.ibm.icu.util.ULocale;
 
 import java.io.IOException;
@@ -30,6 +28,8 @@ import java.io.InputStream;
 import java.text.MessageFormat;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Calendar;
+import java.util.TimeZone;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -640,7 +640,7 @@ public class UserBean {
      */
     public UserUuid createAndPersistUserUuid(VipsLogicUser user)
     {
-        Calendar cal = Calendar.getInstance(TimeZone.getDefault());
+        Calendar cal = Calendar.getInstance(TimeZone.getTimeZone(user.getOrganizationId().getDefaultTimeZone()));
         cal.setTime(new Date());
         cal.add(Calendar.DATE, Globals.DEFAULT_UUID_VALIDITY_DURATION_DAYS);
         UserUuid u = new UserUuid();
diff --git a/src/main/java/no/nibio/vips/logic/entity/Observation.java b/src/main/java/no/nibio/vips/logic/entity/Observation.java
index 0329a9d5cd116ecd736be349ffe5b9297fafcb0b..2ef03bff78356a0547a756f88171be349643c3af 100755
--- a/src/main/java/no/nibio/vips/logic/entity/Observation.java
+++ b/src/main/java/no/nibio/vips/logic/entity/Observation.java
@@ -69,6 +69,7 @@ import org.hibernate.annotations.TypeDefs;
     @NamedQuery(name = "Observation.findByOrganizationId", query = "SELECT o FROM Observation o WHERE o.userId IN(SELECT v.userId FROM VipsLogicUser v WHERE v.organizationId = :organizationId OR  v.organizationId IN(SELECT o.organizationId FROM Organization o WHERE o.parentOrganizationId = :organizationId))"),
     @NamedQuery(name = "Observation.findByOrganizationIdAndStatusTypeId", query = "SELECT o FROM Observation o WHERE o.userId IN(SELECT v.userId FROM VipsLogicUser v WHERE v.organizationId = :organizationId OR  v.organizationId IN(SELECT o.organizationId FROM Organization o WHERE o.parentOrganizationId = :organizationId)) AND o.statusTypeId= :statusTypeId"),
     @NamedQuery(name = "Observation.findByOrganizationIdAndStatusTypeIdAndBroadcastMessage", query = "SELECT o FROM Observation o WHERE o.userId IN(SELECT v.userId FROM VipsLogicUser v WHERE v.organizationId = :organizationId OR  v.organizationId IN(SELECT o.organizationId FROM Organization o WHERE o.parentOrganizationId = :organizationId)) AND o.statusTypeId= :statusTypeId AND o.broadcastMessage IS TRUE"),
+    @NamedQuery(name = "Observation.findByOrganizationIdAndStatusTypeIdAndBroadcastMessageAndSeason", query = "SELECT o FROM Observation o WHERE o.timeOfObservation BETWEEN :start AND :end AND o.userId IN(SELECT v.userId FROM VipsLogicUser v WHERE v.organizationId = :organizationId OR  v.organizationId IN(SELECT o.organizationId FROM Organization o WHERE o.parentOrganizationId = :organizationId)) AND o.statusTypeId= :statusTypeId AND o.broadcastMessage IS TRUE"),
     @NamedQuery(name = "Observation.findByOrganism", query = "SELECT o FROM Observation o WHERE o.organism =  :organism"),
     @NamedQuery(name = "Observation.findByTimeOfObservation", query = "SELECT o FROM Observation o WHERE o.timeOfObservation = :timeOfObservation")
 })
diff --git a/src/main/java/no/nibio/vips/logic/service/ObservationService.java b/src/main/java/no/nibio/vips/logic/service/ObservationService.java
index 65dc4caa549642aa6e70ecfe817e9104e4a2abe5..b4fda92d7b3b2bc9ebbdf8be256c6cde1cbfe50a 100755
--- a/src/main/java/no/nibio/vips/logic/service/ObservationService.java
+++ b/src/main/java/no/nibio/vips/logic/service/ObservationService.java
@@ -195,8 +195,12 @@ public class ObservationService {
     @Path("broadcast/list/{organizationId}")
     @GZIP
     @Produces("application/json;charset=UTF-8")
-    public Response getBroadcastObservations(@PathParam("organizationId") Integer organizationId){
-        return Response.ok().entity(SessionControllerGetter.getObservationBean().getBroadcastObservations(organizationId)).build();
+    public Response getBroadcastObservations(
+            @PathParam("organizationId") Integer organizationId,
+            @QueryParam("season") Integer season
+    )
+    {
+        return Response.ok().entity(SessionControllerGetter.getObservationBean().getBroadcastObservations(organizationId, season)).build();
     }
     
     @GET