diff --git a/skais/ais/ais_trajectory.py b/skais/ais/ais_trajectory.py
index c4286bf250041bd3f11c3daa788d0ac48fd202fb..7b504a0413a6edae3f1b1f13f635f92eb96417f4 100644
--- a/skais/ais/ais_trajectory.py
+++ b/skais/ais/ais_trajectory.py
@@ -26,7 +26,12 @@ def compute_trajectory(times, time_gap):
 def apply_func_on_window(dat, func, radius, on_edge='copy'):
     result = np.zeros(dat.shape)
     if on_edge == 'copy':
-        dat = np.concatenate([np.repeat(dat[0], radius), dat, np.repeat(dat[-1], radius)])
+        if len(dat.shape) == 1:
+            dat = np.concatenate([np.full(radius, dat[0]), dat, np.full(radius, dat[-1])])
+        else:
+            dat = np.concatenate([np.repeat(np.array(dat[0]).reshape((1, len(dat[0]))), radius, axis=0),
+                                  dat,
+                                  np.repeat(np.array(dat[-1]).reshape((1, len(dat[-1]))), radius, axis=0)])
         for i in range(radius, dat.shape[0] - radius):
             data = dat[i - radius:i + radius + 1]
             result[i - radius] = func(data)