diff --git a/skais/process/basic_features_operations.py b/skais/process/basic_features_operations.py
index c4c7d3bbbefe115b87696c4f02f4be8cb0ba532e..350ae1751f8dde15978f6d440c1c96a22d39c262 100644
--- a/skais/process/basic_features_operations.py
+++ b/skais/process/basic_features_operations.py
@@ -18,16 +18,14 @@ def angular_dispersion(angles):
 
 def angular_mean(angles):
     x, y = angular_average_vector(angles)
-    theta = abs(np.arctan2(x, y))
+    theta = np.arctan(y/x)
 
-    if y > 0 and x > 0:  # first Q
+    if y > 0 and x > 0:
         return theta
-    if y > 0 >= x:  # Second Q
-        return np.pi / 2 + theta
-    if y <= 0 < x:  # Fourth Q
-        return np.pi / 2 - theta
-    else:  # Third Q
-        return - theta
+    elif x <= 0:
+        return np.pi + theta
+    else:
+        return 2*np.pi + theta
 
 
 def angular_std(angles):
diff --git a/skais/tests/process/test_basic_features_operations.py b/skais/tests/process/test_basic_features_operations.py
index da2f62eb6388adf5c8f8036c2b67610aeb0a3626..029583b0ef639888f49dbb58ce611786668746f0 100644
--- a/skais/tests/process/test_basic_features_operations.py
+++ b/skais/tests/process/test_basic_features_operations.py
@@ -9,7 +9,7 @@ class TestAngular(unittest.TestCase):
     def test_angular_mean_simple(self):
         x = np.radians(np.array([1, 359]))
 
-        self.assertEqual(0.0, angular_mean(x))
+        self.assertEqual(2*np.pi, angular_mean(x))
 
     def test_angular_mean_simple_2(self):
         x = np.radians(np.array([180, 180, 180, 180, 179, 181]))
@@ -19,7 +19,7 @@ class TestAngular(unittest.TestCase):
     def test_angular_mean_simple_3(self):
         x = np.radians(np.array([0, 0, 0, 0, 359, 1]))
 
-        self.assertEqual(0.0, angular_mean(x))
+        self.assertEqual(2*np.pi, angular_mean(x))
 
     def test_angular_mean_first_quadrant(self):
         x = np.radians(np.array([43, 44, 45, 46, 47]))
@@ -34,12 +34,12 @@ class TestAngular(unittest.TestCase):
     def test_angular_mean_third_quadrant(self):
         x = np.radians(np.array([223, 224, 225, 226, 227]))
 
-        self.assertEqual(-3 * np.pi / 4, angular_mean(x))
+        self.assertEqual(5 * np.pi / 4, angular_mean(x))
 
     def test_angular_mean_fourth_quadrant(self):
         x = np.radians(np.array([313, 314, 315, 316, 317]))
 
-        self.assertEqual(-np.pi / 4, angular_mean(x))
+        self.assertEqual(7*np.pi / 4, angular_mean(x))
 
     def test_angular_std(self):
         x = np.radians(np.array([0, 0, 0, 0]))