diff --git a/docker-compose/jupyter-lab/requirements.txt b/docker-compose/jupyter-lab/requirements.txt
index dc643dea07a3134cd12d25a38f50335f9cf26c85..c3e82e317c170d8c79d5e14efc8aff8894a87aef 100644
--- a/docker-compose/jupyter-lab/requirements.txt
+++ b/docker-compose/jupyter-lab/requirements.txt
@@ -1,3 +1,4 @@
+# Jupyter & enhancements
 ipython >=7.27.0,!=7.28.0 # BSD
 jupyter
 jupyterlab >=3,<4 # until https://github.com/jupyterlab/jupyterlab-git/issues/1245
@@ -5,28 +6,32 @@ jupyterlab_h5web[full]  # MIT
 jupyterlab-git
 jupyterlab-skip-traceback
 ipykernel
-jupyter_bokeh
-matplotlib
-jupyterplot
 nbconvert
 notebook-as-pdf
 PyPDF2==2.12.1 # until https://github.com/betatim/notebook-as-pdf/issues/40 hits a notebook-as-pdf release
-python-logstash-async
-PyMySQL[rsa]
-psycopg2-binary >= 2.9.2 #LGPL
+
+# low-level access to station components
+opcua
+asyncua >= 0.9.90 # LGPLv3
 pyvisa
 pyvisa-py
-opcua
+
+# antenna locations
 lofarantpos >= 0.5.0 # Apache 2
 python-geohash >= 0.8.5 # Apache 2 / MIT
-asyncua >= 0.9.90 # LGPLv3
-
-numpy
-scipy
+etrs-itrs@git+https://github.com/brentjens/etrs-itrs # Apache 2
 
-astropy
+# plotting
+matplotlib
+jupyter_bokeh
+jupyterplot
 
+# useful LOFAR software
 pabeam@git+https://git.astron.nl/mevius/pabeam # Apache2
 lofar-station-client@git+https://git.astron.nl/lofar2.0/lofar-station-client # Apache2
 attributewrapper@git+https://git.astron.nl/lofar2.0/attributewrapper # Apache2
-etrs-itrs@git+https://github.com/brentjens/etrs-itrs # Apache 2
+
+# user packages
+numpy
+scipy
+astropy
diff --git a/tangostationcontrol/tangostationcontrol/devices/base_device_classes/power_hierarchy.py b/tangostationcontrol/tangostationcontrol/devices/base_device_classes/power_hierarchy.py
index bc1810c30cae64824962ecb41485d36ac5ae57aa..2fb996242bde7eb0c97dd50ff2d0e3cf41733a40 100644
--- a/tangostationcontrol/tangostationcontrol/devices/base_device_classes/power_hierarchy.py
+++ b/tangostationcontrol/tangostationcontrol/devices/base_device_classes/power_hierarchy.py
@@ -41,9 +41,6 @@ class PowerHierarchyDevice(AbstractHierarchyDevice):
 
     def _boot_device(self, device: DeviceProxy):
         """Default sequence of device booting operations"""
-        if device.state() == DevState.ON:
-            logger.info(f"Booting {device}: Succesful: It's already ON?")
-            return
 
         logger.info(f"Booting {device}: off()")
         device.off()
diff --git a/tangostationcontrol/tangostationcontrol/devices/station_manager.py b/tangostationcontrol/tangostationcontrol/devices/station_manager.py
index 987d7ea247255f05f6c5ef73153b88478bb3590e..dc5d6c3f2cb3aa2432903e04bcdf7c80cd787da7 100644
--- a/tangostationcontrol/tangostationcontrol/devices/station_manager.py
+++ b/tangostationcontrol/tangostationcontrol/devices/station_manager.py
@@ -195,6 +195,9 @@ class StationManager(LOFARDevice):
         Switch the station into OFF state.
         It can only be executed from state HIBERNATE.
         """
+        if self.station_state == StationState.OFF:
+            return
+
         if not self._is_transition_allowed(StationState.OFF):
             raise Exception(f"Station did not transition to {StationState.OFF.name}")
 
@@ -214,6 +217,9 @@ class StationManager(LOFARDevice):
         Switch the station into HIBERNATE state.
         It can only be executed from either state OFF or STANDBY.
         """
+        if self.station_state == StationState.HIBERNATE:
+            return
+
         if not self._is_transition_allowed(StationState.HIBERNATE):
             raise Exception(
                 f"Station did not transition to {StationState.HIBERNATE.name}"
@@ -247,6 +253,9 @@ class StationManager(LOFARDevice):
         Switch the station into STANDBY state.
         It can only be executed from either state HIBERNATE or ON.
         """
+        if self.station_state == StationState.STANDBY:
+            return
+
         if not self._is_transition_allowed(StationState.STANDBY):
             raise Exception(
                 f"Station did not transition to {StationState.STANDBY.name}"
@@ -278,6 +287,9 @@ class StationManager(LOFARDevice):
         Switch the station into ON state.
         It can only be executed from state STANDBY.
         """
+        if self.station_state == StationState.ON:
+            return
+
         if not self._is_transition_allowed(StationState.ON):
             raise Exception(f"Station did not transition to {StationState.ON.name}")