diff --git a/LCS/PyCommon/CMakeLists.txt b/LCS/PyCommon/CMakeLists.txt
index db356cd03c24a773594a81c96223f06f6d4f6b1f..74e17082cad5ac51ff7a2b0260b2adb03ae34209 100644
--- a/LCS/PyCommon/CMakeLists.txt
+++ b/LCS/PyCommon/CMakeLists.txt
@@ -38,7 +38,8 @@ set(_py_files
   test_utils.py
   typing.py
   toposort.py
-  ring_coordinates.py)
+  ring_coordinates.py
+  station_coordinates.py)
 
 python_install(${_py_files} DESTINATION lofar/common)
 
diff --git a/LCS/PyCommon/station_coordinates.py b/LCS/PyCommon/station_coordinates.py
new file mode 100644
index 0000000000000000000000000000000000000000..2f07848a647521bbe4bd7d35a675a0d9721d2c75
--- /dev/null
+++ b/LCS/PyCommon/station_coordinates.py
@@ -0,0 +1,24 @@
+from ast import literal_eval
+import os
+import functools
+
+DEFAULT_STATION_POSITIONS_PARSET_FILEPATH = os.path.expandvars("$LOFARROOT/etc/StaticMetaData/StationPositions.parset")
+
+@functools.lru_cache()
+def parse_station_coordinates() -> dict:
+    """
+    :return: a dict mapping station field name, e.g. "CS002_LBA", to a dict containing geocentric coordinates
+    """
+    station_coordinates = {}
+    with open(DEFAULT_STATION_POSITIONS_PARSET_FILEPATH, 'r') as f:
+        for line in f.readlines():
+            print(line)
+            line = line.strip()
+            if line and line.startswith('PIC.Core.'):
+                key, value = line.split('=')
+                key = key.replace('PIC.Core.', '').replace('.phaseCenter', '').strip()
+                eval_value = literal_eval(value)
+                field_coords = {'coordinate_system': 'ITRF2005', 'epoch': '2017.5' if 'DE605' in key else '2015.5', 'x': eval_value[0], 'y': eval_value[1], 'z': eval_value[2]}  # 'coordinate_system': 'ITRF2005' ?!
+                station_coordinates[key] = field_coords
+    return station_coordinates
+
diff --git a/LTA/sip/lib/siplib.py b/LTA/sip/lib/siplib.py
index aab5409b98b7ba3afd17597336b36cf0dfd13d05..ff3bba92ba1e7c3f9a1292f07cd59cc603c56815 100644
--- a/LTA/sip/lib/siplib.py
+++ b/LTA/sip/lib/siplib.py
@@ -28,7 +28,7 @@
 from . import ltasip
 import pyxb
 from . import constants
-from . import station_coordinates
+from lofar.common import station_coordinates
 import os
 import uuid
 import xml.dom.minidom
@@ -153,8 +153,8 @@ class Station():
         __afield2=None
         station_coords = station_coordinates.parse_station_coordinates()
         for atype in antennafieldtypes:
-            if name+"_"+atype in station_coords.keys():
-                field_coords = station_coords[name+"_"+atype]
+            if name+atype in station_coords.keys():
+                field_coords = station_coords[name+atype]
                 __afield=AntennafieldXYZ(
                             type=atype,
                             coordinate_system=field_coords["coordinate_system"],
diff --git a/MAC/Deployment/data/StaticMetaData/CMakeLists.txt b/MAC/Deployment/data/StaticMetaData/CMakeLists.txt
index 71266e4b37742f126b5199dc2a608deb0495e90d..cbcea42258c0def795e02a60ce13d7b725aab067 100644
--- a/MAC/Deployment/data/StaticMetaData/CMakeLists.txt
+++ b/MAC/Deployment/data/StaticMetaData/CMakeLists.txt
@@ -24,5 +24,6 @@ file(GLOB staticmeta_data RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}"
   CableDelays/*.conf*
   iHBADeltas/*.conf*
   AntennaFields/*.conf*
-  Attenuation/*.conf*)
+  Attenuation/*.conf*
+  StationPositions.parset)
 lofar_add_sysconf_files(${staticmeta_data} DESTINATION StaticMetaData)
diff --git a/SAS/TMSS/backend/services/scheduling/lib/constraints.py b/SAS/TMSS/backend/services/scheduling/lib/constraints.py
index 9676a0f0929b478aec1a56867da0337315814e3a..42bdd43b185fbfa8d265dfebde644b50b3359d6a 100644
--- a/SAS/TMSS/backend/services/scheduling/lib/constraints.py
+++ b/SAS/TMSS/backend/services/scheduling/lib/constraints.py
@@ -218,10 +218,10 @@ def get_boundary_stations_from_list(stations: Tuple[str]) -> Tuple[str]:
     if not stations:
         return tuple()
 
-    from lofar.lta.sip import station_coordinates
+    from lofar.common import station_coordinates
     min_lat, max_lat, min_lon, max_lon = None, None, None, None
     for station in stations:
-        coords = station_coordinates.parse_station_coordinates()["%s_LBA" % station.upper()]
+        coords = station_coordinates.parse_station_coordinates()["%sLBA" % station.upper()]
         loc = EarthLocation.from_geocentric(x=coords['x'], y=coords['y'], z=coords['z'],  unit=astropy.units.m)
         if not min_lat or loc.lat < min_lat:
             min_lat = loc.lat
@@ -247,10 +247,10 @@ def get_unique_sorted_boundary_stations_or_cs002(stations: Tuple[str], min_dista
     boundary_stations = set(get_boundary_stations_from_list(tuple(stations)))
     if min_distance is not None:
         # find EarthLocation for each boundary_station
-        from lofar.lta.sip import station_coordinates
+        from lofar.common import station_coordinates
         locations = {}
         for station in boundary_stations:
-            coords = station_coordinates.parse_station_coordinates()["%s_LBA" % station.upper()]
+            coords = station_coordinates.parse_station_coordinates()["%sLBA" % station.upper()]
             locations[station] = EarthLocation.from_geocentric(x=coords['x'], y=coords['y'], z=coords['z'], unit=astropy.units.m)
 
         # loop over all station combinations, except (self,self), and compute great-circle-distance in meters between the two
diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/conversions.py b/SAS/TMSS/backend/src/tmss/tmssapp/conversions.py
index 8164012de5806a52ee347b68f808ab21712bd82f..7669919ac34783972e132ab68e5069c50eb911e7 100644
--- a/SAS/TMSS/backend/src/tmss/tmssapp/conversions.py
+++ b/SAS/TMSS/backend/src/tmss/tmssapp/conversions.py
@@ -75,8 +75,8 @@ def create_location_for_station(station: str) -> EarthLocation:
     :param station: a station name, e.g. "CS002"
     :return: astropy.coordinates.earth.EarthLocation
     '''
-    from lofar.lta.sip import station_coordinates
-    coords = station_coordinates.parse_station_coordinates()["%s_LBA" % station.upper()]
+    from lofar.common import station_coordinates
+    coords = station_coordinates.parse_station_coordinates()["%sLBA" % station.upper()]
     location = EarthLocation.from_geocentric(x=coords['x'], y=coords['y'], z=coords['z'],  unit=astropy.units.m)
     return location