diff --git a/gui/action.cpp b/gui/action.cpp
index f9de4e9d..16a550ba 100644
--- a/gui/action.cpp
+++ b/gui/action.cpp
@@ -1321,6 +1321,10 @@ int GUIAction::terminalcommand(std::string arg)
if (simulate) {
simulate_progress_bar();
operation_end(op_status);
+ } else if (arg == "exit") {
+ LOGINFO("Exiting terminal\n");
+ operation_end(op_status);
+ page("main");
} else {
command = "cd \"" + cmdpath + "\" && " + arg + " 2>&1";;
LOGINFO("Actual command is: '%s'\n", command.c_str());
diff --git a/gui/devices/landscape/res/landscape.xml b/gui/devices/landscape/res/landscape.xml
index f6fb1899..aaa509e9 100644
--- a/gui/devices/landscape/res/landscape.xml
+++ b/gui/devices/landscape/res/landscape.xml
@@ -3371,6 +3371,7 @@
%tw_terminal_command%
+
%tw_terminal_command%
diff --git a/gui/devices/portrait/res/portrait.xml b/gui/devices/portrait/res/portrait.xml
index 369f9599..021e81df 100644
--- a/gui/devices/portrait/res/portrait.xml
+++ b/gui/devices/portrait/res/portrait.xml
@@ -3398,6 +3398,7 @@
%tw_terminal_command%
+
%tw_terminal_command%
diff --git a/gui/devices/watch/res/watch.xml b/gui/devices/watch/res/watch.xml
index a86b07c6..0169a99b 100644
--- a/gui/devices/watch/res/watch.xml
+++ b/gui/devices/watch/res/watch.xml
@@ -3389,6 +3389,7 @@
%tw_terminal_command%
+
%tw_terminal_command%