diff --git a/src/main/java/no/nibio/vips/logic/controller/servlet/ObservationTimeSeriesController.java b/src/main/java/no/nibio/vips/logic/controller/servlet/ObservationTimeSeriesController.java
index 1c2aca5f28c4983370a7c8763dae41f049c8c26e..d2a3acdfb09620618f90c075e7d3dfa9701b493c 100644
--- a/src/main/java/no/nibio/vips/logic/controller/servlet/ObservationTimeSeriesController.java
+++ b/src/main/java/no/nibio/vips/logic/controller/servlet/ObservationTimeSeriesController.java
@@ -156,20 +156,21 @@ public class ObservationTimeSeriesController extends HttpServlet {
                         SessionLocaleUtil.getI18nBundle(request),
                         getServletContext()
                     );
-                    Integer observationTimeSeriesId =
-                        formValidation.getFormField("observationTimeSeriesId").getValueAsInteger();
-                    if (observationTimeSeriesId > 0) {
-                        observationTimeSeries = em.find(ObservationTimeSeries.class, observationTimeSeriesId);
-                    }
                     if (formValidation.isValid()) {
+                        observationTimeSeries.setUserId(user.getUserId()); // Should only be set for new time series
                         Long observationCount = 0L;
-                        observationTimeSeries.setUserId(user.getUserId());
-                        if(observationTimeSeriesId >= 0) {
-                            observationTimeSeries.setLastModifiedBy(user.getUserId());
-                            observationTimeSeries.setLastModified(new Date());
+
+                        Integer observationTimeSeriesId =
+                            formValidation.getFormField("observationTimeSeriesId").getValueAsInteger();
+                        if (observationTimeSeriesId > 0) {
+                            // Fetch existing time series if id > 0
+                            observationTimeSeries = em.find(ObservationTimeSeries.class, observationTimeSeriesId);
                             observationCount = em.createNamedQuery("Observation.findCountByObservationTimeSeries", Long.class)
                                 .setParameter("observationTimeSeries", observationTimeSeries).getSingleResult();
                         }
+                        observationTimeSeries.setLastModifiedBy(user.getUserId());
+                        observationTimeSeries.setLastModified(new Date());
+
                         // Only observation time series without observations can set the crop, pest and location
                         if (observationCount == 0) {
                             observationTimeSeries.setOrganism(em.find(Organism.class, formValidation.getFormField("organismId").getValueAsInteger()));