diff --git a/VERSION b/VERSION
index 3fdc173dabdd1038c973c374ec30f55cfddafdfb..d800886d9c86731ae5c4a62b0b77c437015e00d2 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-122
\ No newline at end of file
+123
\ No newline at end of file
diff --git a/lib/+artoa/+controller/+track/run.m b/lib/+artoa/+controller/+track/run.m
index ebdacbee752f5b649a0e70156b768bfc6334d53b..5072436d327782af63732e2ba5f8169b670e504a 100644
--- a/lib/+artoa/+controller/+track/run.m
+++ b/lib/+artoa/+controller/+track/run.m
@@ -109,6 +109,13 @@ trajectoryObject.clockError = trajectoryClockError;
 trajectoryObject.residuals = trajectoryResiduals;
 trajectoryObject.velocities = trajectoryVelocities;
 trajectoryObject.timeDivergenceToGps = trajectoryTimeDivergenceToGps;
+% find pressure and temperature values
+selectedIndices = (artoaWorkspace.statusPressure == 1) & (artoaWorkspace.statusTemperature == 1);
+[~, dateIndices, indices] = intersect(trajectoryDates, artoaWorkspace.rafosDate(selectedIndices));
+trajectoryObject.pressure = NaN(size(trajectoryDates));
+trajectoryObject.pressure(dateIndices) = artoaWorkspace.pressure(indices);
+trajectoryObject.temperature = NaN(size(trajectoryDates));
+trajectoryObject.temperature(dateIndices) = artoaWorkspace.temperature(indices);
 
 %% Generate trajectory id
 if isempty(artoaWorkspace.trajectoryOutput.trajectories)
diff --git a/lib/+artoa/+trajectory/calculate.m b/lib/+artoa/+trajectory/calculate.m
index ed5199ce77ad48398aff2c6340bcf347e55873a0..e4927c6121148bbd64a86021f31c78d2c645c0e0 100644
--- a/lib/+artoa/+trajectory/calculate.m
+++ b/lib/+artoa/+trajectory/calculate.m
@@ -225,7 +225,10 @@ for oCombination = 1:size(soundsourceCombinations, 1)
     % set reference point to the last position of trajectory if not set
     % manually
     currentCombination = soundsourceCombinations(oCombination, :);
-    if isempty(currentCombination.referencePosition{1})
+    if isempty(currentCombination.referencePosition{1}) ...
+            && isempty(trajectory)
+        return;
+    elseif isempty(currentCombination.referencePosition{1})
         currentCombination.referencePosition{1} = num2str(trajectory(end, :));
     end
     [segmentPositions, segmentDates, segmentClockError, segmentResiduals] = artoa.trajectory.calculateCombinationSegment( ...
@@ -291,7 +294,9 @@ for oCombination = 1:size(soundsourceCombinations, 1)
     
     % calculate vertical velocities
     % get intersecting dates
-    verticalVelocityDates = intersect(pPressureAndDate{2}, segmentDates);
+    %verticalVelocityDates = NaN(size(segmentDates));
+    [verticalVelocityDates, ~, indicesDates] = intersect(pPressureAndDate{2}, segmentDates);
+    %verticalVelocityDates(indicesDates) = segmentDates(indicesDates);
     [segmentVerticalVelocity, segmentVerticalDates] = artoa.trajectory.verticalVelocity( ...
         verticalVelocityDates, ...
         pPressureAndDate{1}(ismember(pPressureAndDate{2}, verticalVelocityDates)), ...