diff --git a/on-host/arpist-traject/src/semantics.rs b/on-host/arpist-traject/src/semantics.rs
index b42f3ef78e3c0c226dee0f82af7ac1d6b787c143..c1773d89c8e4cc9cd2226dab75baae1c34265c09 100644
--- a/on-host/arpist-traject/src/semantics.rs
+++ b/on-host/arpist-traject/src/semantics.rs
@@ -97,17 +97,12 @@ impl Executor {
                             // get the frequency
                             let freq = freq.ok_or("Missing frequency.")?;
                             // set last position as the initial position
-                            let starting_pos = if self.trajectory.points.is_empty() {
-                                let (ix, iy, iz) = self.initial_coordinates;
-                                Point::new(ix, iy, iz, init_t)
-                            } else {
-                                self.trajectory.points.last().unwrap().clone()
-                            };
+                            let starting_pos = self.trajectory.points.last().unwrap().clone();
                             let end_t = *timeref;
                             if end_t > init_t {
                                 let mut prev_t = init_t;
-                                let mut t = prev_t;
-                                while t < end_t {
+                                let mut t = prev_t + 1.0 / freq;
+                                while t <= end_t {
                                     let (x, y, z) = generator.generate(t - init_t);
                                     let mut p = Point::new(x, y, z, t);
                                     p.absolute_from(&starting_pos);
@@ -124,6 +119,12 @@ impl Executor {
                         }
                         None => {
                             self.last_timeref = Some(*timeref);
+                            self.trajectory.push(Point::new(
+                                self.initial_coordinates.0,
+                                self.initial_coordinates.1,
+                                self.initial_coordinates.2,
+                                *timeref,
+                            ));
                         }
                     }
                 }