diff --git a/src/main/java/no/nibio/vips/logic/controller/servlet/PointOfInterestController.java b/src/main/java/no/nibio/vips/logic/controller/servlet/PointOfInterestController.java
index b296e0e5154b075a1db74f27bb98e6ccca2fe4c8..a8d1cbd8b9c0efa92385da27ec474496136f89d4 100755
--- a/src/main/java/no/nibio/vips/logic/controller/servlet/PointOfInterestController.java
+++ b/src/main/java/no/nibio/vips/logic/controller/servlet/PointOfInterestController.java
@@ -24,6 +24,9 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+
+import no.nibio.vips.logic.controller.session.*;
+import no.nibio.vips.logic.entity.*;
 import org.apache.http.client.utils.URIBuilder;
 import org.locationtech.jts.geom.Coordinate;
 import org.locationtech.jts.geom.GeometryFactory;
@@ -36,23 +39,6 @@ import jakarta.servlet.http.HttpServlet;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
 import no.nibio.vips.gis.GISUtil;
-import no.nibio.vips.logic.controller.session.ForecastBean;
-import no.nibio.vips.logic.controller.session.ObservationBean;
-import no.nibio.vips.logic.controller.session.PointOfInterestBean;
-import no.nibio.vips.logic.controller.session.UserBean;
-import no.nibio.vips.logic.entity.Country;
-import no.nibio.vips.logic.entity.ForecastConfiguration;
-import no.nibio.vips.logic.entity.ModelInformation;
-import no.nibio.vips.logic.entity.Observation;
-import no.nibio.vips.logic.entity.Organization;
-import no.nibio.vips.logic.entity.PointOfInterest;
-import no.nibio.vips.logic.entity.PointOfInterestExternalResource;
-import no.nibio.vips.logic.entity.PointOfInterestExternalResourcePK;
-import no.nibio.vips.logic.entity.PointOfInterestWeatherStation;
-import no.nibio.vips.logic.entity.VipsLogicRole;
-import no.nibio.vips.logic.entity.VipsLogicUser;
-import no.nibio.vips.logic.entity.WeatherForecastProvider;
-import no.nibio.vips.logic.entity.WeatherStationDataSource;
 import no.nibio.vips.logic.entity.helpers.PointOfInterestFactory;
 import no.nibio.vips.logic.i18n.SessionLocaleUtil;
 import no.nibio.vips.logic.util.Globals;
@@ -81,8 +67,9 @@ public class PointOfInterestController extends HttpServlet {
     ForecastBean forecastBean;
     @EJB
     ObservationBean observationBean;
-    
-    
+    @EJB
+    ObservationTimeSeriesBean observationTimeSeriesBean;
+
     /**
      * Processes requests for both HTTP
      * <code>GET</code> and
@@ -795,12 +782,10 @@ public class PointOfInterestController extends HttpServlet {
 
                         // Are there forecasts attached to this location
                         List<ForecastConfiguration> forecastConfigurations = forecastBean.getForecastConfigurationsByLocation(poi);
-                        
-                        // TODO: Are there observations attached to this location?
                         List<Observation> observations = observationBean.getObservationsByLocation(poi);
-                        // 
-                        // If no strings attached, delete immediately
-                        if(forecastConfigurations.isEmpty() && observations.isEmpty())
+                        List<ObservationTimeSeries> observationTimeSeries = observationTimeSeriesBean.getObservationTimeSeriesListForLocation(poi);
+
+                        if(forecastConfigurations.isEmpty() && observations.isEmpty() && observationTimeSeries.isEmpty())
                         {
                             response.sendRedirect(new StringBuilder(Globals.PROTOCOL + "://")
                                 .append(ServletUtil.getServerName(request))
@@ -814,8 +799,8 @@ public class PointOfInterestController extends HttpServlet {
                             request.setAttribute("returnURL","poi?action=editPoiForm&pointOfInterestId=" + pointOfInterestId);
                             request.setAttribute("poi", poi);
                             request.setAttribute("forecastConfigurations", forecastConfigurations);
-                            // TODO Set observations
                             request.setAttribute("observations", observations);
+                            request.setAttribute("observationTimeSeries", observationTimeSeries);
                             request.setAttribute("modelInformation", modelInformationMap);
                             request.getRequestDispatcher("/poiDeletePreview.ftl").forward(request, response);
                         }
diff --git a/src/main/java/no/nibio/vips/logic/controller/session/ObservationTimeSeriesBean.java b/src/main/java/no/nibio/vips/logic/controller/session/ObservationTimeSeriesBean.java
index 177b8bb1e2f28c65a19ac6659b7c6e089499fb67..d39d0954d31daa89a02ffadce35008aac2da1c55 100644
--- a/src/main/java/no/nibio/vips/logic/controller/session/ObservationTimeSeriesBean.java
+++ b/src/main/java/no/nibio/vips/logic/controller/session/ObservationTimeSeriesBean.java
@@ -37,6 +37,12 @@ public class ObservationTimeSeriesBean {
     @EJB
     ObservationBean observationBean;
 
+    /**
+     * Get list of observation time series registered by given user
+     *
+     * @param user The user
+     * @return a list of observation time series
+     */
     public List<ObservationTimeSeries> getObservationTimeSeriesListForUser(VipsLogicUser user) {
         List<ObservationTimeSeries> resultList = em.createNamedQuery("ObservationTimeSeries.findByUserId", ObservationTimeSeries.class)
                 .setParameter("userId", user.getUserId())
@@ -46,6 +52,18 @@ public class ObservationTimeSeriesBean {
         return resultList;
     }
 
+    /**
+     * Get list of observation time series registered for given poi
+     *
+     * @param poi The point of interest
+     * @return a list of observation time series
+     */
+    public List<ObservationTimeSeries> getObservationTimeSeriesListForLocation(PointOfInterest poi) {
+        return em.createNamedQuery("ObservationTimeSeries.findByLocationPointOfInterestId", ObservationTimeSeries.class)
+            .setParameter("locationPointOfInterestId", poi.getPointOfInterestId())
+            .getResultList();
+    }
+
     /**
      * Get observation time series with given id. Enrich object with user information before returning.
      * @param observationTimeSeriesId the id of the observation time series to retrieve
@@ -142,4 +160,17 @@ public class ObservationTimeSeriesBean {
             o.setUser(mappedUsers.get(o.getUserId()));
         });
     }
+
+    /**
+     * Delete all observation time series registered for the given point of interest
+     *
+     * @param poi The point of interest
+     */
+    public void deleteObservationTimeSeriesForLocation(PointOfInterest poi) {
+        em.createNamedQuery("ObservationTimeSeries.findByLocationPointOfInterestId", ObservationTimeSeries.class)
+            .setParameter("locationPointOfInterestId", poi.getPointOfInterestId())
+            .getResultList().stream()
+            .forEach(ots -> em.remove(ots));
+
+    }
 }
diff --git a/src/main/java/no/nibio/vips/logic/controller/session/PointOfInterestBean.java b/src/main/java/no/nibio/vips/logic/controller/session/PointOfInterestBean.java
index b064c913c1388b756b042bf46fc90265a8a7f458..18dadec7afc5ce6a888e7ea4e1a4759ee4990d2d 100755
--- a/src/main/java/no/nibio/vips/logic/controller/session/PointOfInterestBean.java
+++ b/src/main/java/no/nibio/vips/logic/controller/session/PointOfInterestBean.java
@@ -72,6 +72,8 @@ public class PointOfInterestBean {
     ForecastBean forecastBean;
     @EJB
     ObservationBean observationBean;
+    @EJB
+    ObservationTimeSeriesBean observationTimeSeriesBean;
     
     public List<PointOfInterest> getWeatherstations(String countryCode)
     {
@@ -467,6 +469,7 @@ public class PointOfInterestBean {
         PointOfInterest poi = em.find(PointOfInterest.class, pointOfInterestId);
         forecastBean.deleteForecastConfigurationsForLocation(poi);
         observationBean.deleteObservationsForLocation(poi);
+        observationTimeSeriesBean.deleteObservationTimeSeriesForLocation(poi);
         em.remove(poi);
     }
 
diff --git a/src/main/java/no/nibio/vips/logic/entity/ObservationTimeSeries.java b/src/main/java/no/nibio/vips/logic/entity/ObservationTimeSeries.java
index cfe9bc1ddad1678209b44453cdecd663a97ee96e..6ee76a5bd10118abc62872895b5225cecdcc84cf 100644
--- a/src/main/java/no/nibio/vips/logic/entity/ObservationTimeSeries.java
+++ b/src/main/java/no/nibio/vips/logic/entity/ObservationTimeSeries.java
@@ -33,7 +33,8 @@ import java.util.*;
     @NamedQuery(name = "ObservationTimeSeries.findAll", query = "SELECT ots FROM ObservationTimeSeries ots"),
     @NamedQuery(name = "ObservationTimeSeries.findByObservationTimeSeriesId", query = "SELECT ots FROM ObservationTimeSeries ots WHERE ots.observationTimeSeriesId = :id"),
     @NamedQuery(name = "ObservationTimeSeries.findByObservationTimeSeriesIds", query = "SELECT ots FROM ObservationTimeSeries ots WHERE ots.observationTimeSeriesId IN :observationTimeSeriesIds"),
-    @NamedQuery(name = "ObservationTimeSeries.findByUserId", query = "SELECT ots FROM ObservationTimeSeries ots WHERE ots.userId IN(:userId) order by ots.year desc, ots.created desc")
+    @NamedQuery(name = "ObservationTimeSeries.findByUserId", query = "SELECT ots FROM ObservationTimeSeries ots WHERE ots.userId IN(:userId) order by ots.year desc, ots.created desc"),
+    @NamedQuery(name = "ObservationTimeSeries.findByLocationPointOfInterestId", query = "SELECT ots FROM ObservationTimeSeries ots WHERE ots.locationPointOfInterestId = :locationPointOfInterestId")
 })
 public class ObservationTimeSeries implements Serializable {
 
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 45e66ccb3c07cf67e8342a13a850d9c322e08ad1..dbc1492bdb37c5d44edd1a160e0c7282fd8d171e 100755
--- a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts.properties
+++ b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts.properties
@@ -1095,9 +1095,12 @@ forTimeSeries=for time series
 newObservationTimeSeries=New observation time series
 editObservationTimeSeries=Edit observation time series
 addNewObservationInTimeSeries=Add observation to time series
-observationTimeSeriesName=Name
+observationTimeSeriesName=Title
 observationTimeSeriesDescription=Description
 year=Year
 observationTimeSeriesDeleted = Observation time series was deleted
 observationTimeSeriesStored = Observation time series was stored
+noTimeSeries = No observation time series
+noObservations = No observations
+noForecasts = No forecasts
 
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 cbdfdd4bf6a61411ba36c9b35f33c00c610aa6d7..0196c0acf851d7216ac2b86d432e3d8f5ace152c 100755
--- a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_nb.properties
+++ b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_nb.properties
@@ -1094,9 +1094,12 @@ forTimeSeries=for tidsserie
 newObservationTimeSeries=Ny tidsserie
 editObservationTimeSeries=Rediger tidsserie
 addNewObservationInTimeSeries=Legg til ny observasjon i tidsserien
-observationTimeSeriesName=Navn
+observationTimeSeriesName=Tittel
 observationTimeSeriesDescription=Beskrivelse
 year=\u00c5r
 observationTimeSeriesDeleted = Tidsserie slettet
 observationTimeSeriesStored = Tidsserie lagret
+noTimeSeries = Ingen tidsserier
+noObservations = Ingen observasjoner
+noForecasts = Ingen varsler
 
diff --git a/src/main/webapp/templates/poiDeletePreview.ftl b/src/main/webapp/templates/poiDeletePreview.ftl
index 07cf886cc946dc8e8ab7a511d1cb7c41f51f22ca..7bc3ae7a548d4193858edc8522e0705b2e840705 100644
--- a/src/main/webapp/templates/poiDeletePreview.ftl
+++ b/src/main/webapp/templates/poiDeletePreview.ftl
@@ -38,51 +38,85 @@
 	</#if>
 	<p>${i18nBundle.deletePoiPreviewExplanation}</p>
 	<h2>${i18nBundle.forecasts}</h2>
-	<table class="table table-striped">
-		<thead>
+	<#if forecastConfigurations?has_content>
+		<table class="table table-striped">
+			<thead>
 			<th>${i18nBundle.modelId}</th>
 			<th>${i18nBundle.dateStart}</th>
 			<th>${i18nBundle.dateEnd}</th>
 			<th></th>
-		</thead>
-		<tbody>
+			</thead>
+			<tbody>
 			<#list forecastConfigurations as forecastConfiguration>
-			<tr>
-				<td>
-				<#if i18nBundle.containsKey(forecastConfiguration.modelId)>
-					${i18nBundle[forecastConfiguration.modelId]}
-				<#else>
-					${modelInformation[forecastConfiguration.modelId].defaultName}
-				</#if>
-				</td>
-				<td>${forecastConfiguration.dateStart}</td>
-				<td>${forecastConfiguration.dateEnd}</td>
-				<td><a href="/forecastConfiguration?action=viewForecastConfiguration&forecastConfigurationId=${forecastConfiguration.forecastConfigurationId}" target="new">${i18nBundle.edit}</a></td>
-			</tr>
+				<tr>
+					<td>
+						<#if i18nBundle.containsKey(forecastConfiguration.modelId)>
+							${i18nBundle[forecastConfiguration.modelId]}
+						<#else>
+							${modelInformation[forecastConfiguration.modelId].defaultName}
+						</#if>
+					</td>
+					<td>${forecastConfiguration.dateStart}</td>
+					<td>${forecastConfiguration.dateEnd}</td>
+					<td><a href="/forecastConfiguration?action=viewForecastConfiguration&forecastConfigurationId=${forecastConfiguration.forecastConfigurationId}" target="new">${i18nBundle.edit}</a></td>
+				</tr>
 			</#list>
-		</tbody>
-	</table>
-        <h2>${i18nBundle.observations}</h2>
-	<table class="table table-striped">
-		<thead>
-                        <th>${i18nBundle.timeOfObservation}</th>
+			</tbody>
+		</table>
+	<#else>
+		<p>${i18nBundle.noForecasts}</p>
+	</#if>
+	<h2>${i18nBundle.timeSeriesList}</h2>
+	<#if observationTimeSeries?has_content>
+		<table class="table table-striped">
+			<thead>
+			<th>${i18nBundle.observationTimeSeriesName}</th>
+			<th>${i18nBundle.year}</th>
+			<th>${i18nBundle.cropOrganismId}</th>
+			<th>${i18nBundle.organism}</th>
+			<th></th>
+			</thead>
+			<tbody>
+			<#list observationTimeSeries as ots>
+				<tr>
+					<td>${ots.name}</td>
+					<td>${ots.year}</td>
+					<td>${ots.cropOrganism.latinName}</td>
+					<td>${ots.organism.latinName}</td>
+					<td><a href="/observationTimeSeries?action=editObservationTimeSeriesForm&observationTimeSeriesId=${ots.observationTimeSeriesId}" target="new">${i18nBundle.edit}</a></td>
+				</tr>
+			</#list>
+			</tbody>
+		</table>
+	<#else>
+		<p>${i18nBundle.noTimeSeries}</p>
+	</#if>
+    <h2>${i18nBundle.observations}</h2>
+	<#if observations?has_content>
+		<table class="table table-striped">
+			<thead>
+			<th>${i18nBundle.timeOfObservation}</th>
 			<th>${i18nBundle.cropOrganismId}</th>
 			<th>${i18nBundle.pestOrganismId}</th>
 			<th>${i18nBundle.observationHeading}</th>
 			<th></th>
-		</thead>
-		<tbody>
+			</thead>
+			<tbody>
 			<#list observations as observation>
-			<tr>
-				<td>${observation.timeOfObservation}</td>
-				<td>${observation.cropOrganism.latinName}</td>
-				<td>${observation.organism.latinName}</td>
-                                <td>${observation.observationHeading}</td>
-				<td><a href="/observation?action=editObservationForm&observationId=${observation.observationId}" target="new">${i18nBundle.edit}</a></td>
-			</tr>
+				<tr>
+					<td>${observation.timeOfObservation}</td>
+					<td>${observation.cropOrganism.latinName}</td>
+					<td>${observation.organism.latinName}</td>
+					<td>${observation.observationHeading}</td>
+					<td><a href="/observation?action=editObservationForm&observationId=${observation.observationId}" target="new">${i18nBundle.edit}</a></td>
+				</tr>
 			</#list>
-		</tbody>
-	</table>
+			</tbody>
+		</table>
+	<#else>
+		<p>${i18nBundle.noObservations}</p>
+	</#if>
+
 	<p>
 		<a href="${returnURL}" class="btn btn-default cancel" role="button">${i18nBundle.cancel}</a>
 		<button type="button" class="btn btn-danger" onclick="if(confirm('${i18nBundle.confirmDelete}')){window.location.href='/poi?action=deletePoi&pointOfInterestId=${poi.pointOfInterestId}';}">${i18nBundle.deletePoi}</button>