diff --git a/src/main/java/no/nibio/vips/logic/scheduling/model/preprocessor/FinnCerealModelsPreprocessor.java b/src/main/java/no/nibio/vips/logic/scheduling/model/preprocessor/FinnCerealModelsPreprocessor.java
index bf23442b55740007263e265027e4bdf988ae8c8d..232c0cd2942766ce44489147d6a461123b435aec 100644
--- a/src/main/java/no/nibio/vips/logic/scheduling/model/preprocessor/FinnCerealModelsPreprocessor.java
+++ b/src/main/java/no/nibio/vips/logic/scheduling/model/preprocessor/FinnCerealModelsPreprocessor.java
@@ -2,6 +2,7 @@ package no.nibio.vips.logic.scheduling.model.preprocessor;
 
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
+import java.util.Collections;
 import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -54,6 +55,7 @@ public class FinnCerealModelsPreprocessor extends ModelRunPreprocessor {
                     },
                     sowingDate,
                     configuration.getDateEndInTimeZone());
+                    Collections.sort(observations);
             observations = wUtil.checkForAndFixHourlyTimeSeriesHoles(observations);
 			List<WeatherObservation> temperature = observations.stream().filter(t -> t.getElementMeasurementTypeId().equals(WeatherElements.TEMPERATURE_MEAN))
 					.collect(Collectors.toList());
@@ -63,11 +65,30 @@ public class FinnCerealModelsPreprocessor extends ModelRunPreprocessor {
 					.collect(Collectors.toList());
 			List<WeatherObservation> windSpeedAll = observations.stream().filter(t -> t.getElementMeasurementTypeId().equals(WeatherElements.WIND_SPEED_2M))
 					.collect(Collectors.toList());
-			if(windSpeedAll.isEmpty()) {
-				windSpeedAll = observations.stream().filter(t -> t.getElementMeasurementTypeId().equals(WeatherElements.WIND_SPEED_10MIN_2M))
-						.collect(Collectors.toList());
+                        
+                        // Dealing with wind, which may be dodgy with regards to forecasts etc.
+			if(windSpeedAll.isEmpty() || windSpeedAll.size() != temperature.size()) {
+                            List<WeatherObservation> windFallback = observations.stream()
+                                    .filter(t -> t.getElementMeasurementTypeId().equals(WeatherElements.WIND_SPEED_10MIN_2M))
+                                    .collect(Collectors.toList());
+                            if(windSpeedAll.isEmpty())
+                            {
+                                windSpeedAll.addAll(windFallback);
+                            }
+                            else
+                            {
+                                Collections.sort(windSpeedAll);
+                                Date lastWindTime = windSpeedAll.get(windSpeedAll.size()-1).getTimeMeasured();
+                                windSpeedAll.addAll(windFallback.stream().filter(o->o.getTimeMeasured().after(lastWindTime)).collect(Collectors.toList()));
+                            }
 			}
-                        /*System.out.println("Observations size = " + observations.size());
+                        
+                        
+                        /*
+                        Collections.sort(temperature);
+                        System.out.println("First temp is at " + temperature.get(0).getTimeMeasured());
+                        System.out.println("Last temp is at " + temperature.get(temperature.size()-1).getTimeMeasured());
+                        System.out.println("Observations size = " + observations.size());
                         System.out.println("temperature size=" + temperature.size());
                         System.out.println("rainfall size=" + rainfall.size());
                         System.out.println("rh size =" + rh.size());