diff --git a/config/obsw_config.py b/config/obsw_config.py
index e9fbfc09cfcd9739d2cdc156a35309019c8e8713..e04f16a58a8c5e2855dcd1ca52a21cbce351fe73 100644
--- a/config/obsw_config.py
+++ b/config/obsw_config.py
@@ -27,6 +27,7 @@ class ModeList(enum.Enum):
     SoftwareTestMode = 4
     BinaryUploadMode = 5
     UnitTest = 6
+    PromptMode = 32
 
 
 class ComIF(enum.Enum):
diff --git a/obsw_tmtc_client.py b/obsw_tmtc_client.py
index 0faefe606d18573b35e9c5af0b7e05f45912422d..f3bbcd76686705f7ee813ba596aafb9c688cf5ac 100755
--- a/obsw_tmtc_client.py
+++ b/obsw_tmtc_client.py
@@ -177,11 +177,15 @@ class TmTcHandler:
         """
         Command handling.
         """
+        if self.mode == g.ModeList.PromptMode:
+            self.prompt_mode()
+
         if self.mode == g.ModeList.ListenerMode:
             if self.tm_listener.event_reply_received.is_set():
                 LOGGER.info("TmTcHandler: Packets received.")
                 self.tmtc_printer.print_telemetry_queue(self.tm_listener.retrieve_tm_packet_queue())
                 self.command_received = True
+
         elif self.mode == g.ModeList.SingleCommandMode:
             pus_packet_tuple = command_preparation()
             sender_and_receiver = SingleCommandSenderReceiver(
@@ -189,6 +193,8 @@ class TmTcHandler:
                 tm_listener=self.tm_listener)
             LOGGER.info("Performing single command operation")
             sender_and_receiver.send_single_tc_and_receive_tm(pus_packet_tuple=pus_packet_tuple)
+            self.command_received = True
+            self.mode = g.ModeList.PromptMode
 
         elif self.mode == g.ModeList.ServiceTestMode:
             service_queue = deque()
@@ -198,6 +204,8 @@ class TmTcHandler:
                 com_interface=self.communication_interface, tmtc_printer=self.tmtc_printer,
                 tm_listener=self.tm_listener, tc_queue=service_queue)
             sender_and_receiver.send_queue_tc_and_receive_tm_sequentially()
+            self.command_received = True
+            self.mode = g.ModeList.PromptMode
 
         elif self.mode == g.ModeList.SoftwareTestMode:
             all_tc_queue = create_total_tc_queue()
@@ -214,7 +222,7 @@ class TmTcHandler:
             # mode
             perform_binary_upload()
             self.command_received = True
-            self.prompt_mode()
+            self.mode = g.ModeList.PromptMode
 
         elif self.mode == g.ModeList.UnitTest:
             # Set up test suite and run it with runner. Verbosity specifies detail level