diff --git a/hardware_system.py b/hardware_system.py
index 1a1bd47987450004c7a4dc18e4f8b6a21f24cd4c..431d1cdde1f95f6367632dcbb52427a278790ab2 100644
--- a/hardware_system.py
+++ b/hardware_system.py
@@ -279,6 +279,7 @@ class OhmPiHardware:
         state : str, optional
             Either 'on' or 'off'.
         """
+        status = True
         if roles is None:
             roles = ['A', 'B', 'M', 'N']
         if len(electrodes) == len(roles):
@@ -293,18 +294,19 @@ class OhmPiHardware:
                         mux_workers.append(mux)
                 except KeyError:
                     self.exec_logger.debug(f'Unable to switch {state} ({elec}, {roles[idx]}): not in cabling and will be ignored...')
-            mux_workers = list(set(mux_workers))
-            b = Barrier(len(mux_workers)+1)
-            self.mux_barrier = b
-            for idx, mux in enumerate(mux_workers):
-                # Create a new thread to perform some work
-                self.mux_boards[mux].barrier = b
-                mux_workers[idx] = Thread(target=self.mux_boards[mux].switch, kwargs={'elec_dict': elec_dict})
-                mux_workers[idx].start()
-            self.mux_barrier.wait()
-            status = True
-            for mux_worker in mux_workers:
-                status &= mux_worker.join()
+                    status = False
+            if status:
+                mux_workers = list(set(mux_workers))
+                b = Barrier(len(mux_workers)+1)
+                self.mux_barrier = b
+                for idx, mux in enumerate(mux_workers):
+                    # Create a new thread to perform some work
+                    self.mux_boards[mux].barrier = b
+                    mux_workers[idx] = Thread(target=self.mux_boards[mux].switch, kwargs={'elec_dict': elec_dict})
+                    mux_workers[idx].start()
+                self.mux_barrier.wait()
+                for mux_worker in mux_workers:
+                    mux_worker.join()
         else:
             self.exec_logger.error(
                 f'Unable to switch {state} electrodes: number of electrodes and number of roles do not match!')
diff --git a/ohmpi.py b/ohmpi.py
index 05b2837ac6b2fed6a3e85c66f6be49611be8f772..6f6a2e725bcec3740eb97e1c01a0d3f1d9af6fe2 100644
--- a/ohmpi.py
+++ b/ohmpi.py
@@ -450,8 +450,8 @@ class OhmPi(object):
                 injection_duration = self.settings['injection_duration']
         tx_volt = float(tx_volt)
 
-        status = self.switch_mux_on(quad, cmd_id)
-        if status:
+
+        if self.switch_mux_on(quad, cmd_id):
             self._hw.vab_square_wave(tx_volt, cycle_length=injection_duration*2, cycles=nb_stack)
         else:
             self.exec_logger.info('Skipping {quad}')
@@ -772,7 +772,7 @@ class OhmPi(object):
             List of 4 integers representing the electrode numbers.
         """
         assert len(quadrupole) == 4
-        return self._hw.switch_mux(electrodes=quadrupole, state='on')
+        return  self._hw.switch_mux(electrodes=quadrupole, state='on')
 
     def switch_mux_off(self, quadrupole, cmd_id=None):
         """Switches off multiplexer relays for given quadrupole.