diff --git a/modules/gui/src/python_shell/python_shell_widget.cc b/modules/gui/src/python_shell/python_shell_widget.cc
index e1891ae2c6e8f9148b363747eac05784e4be605c..dda6c80deda9b5ccd32829eb873c1deb74c1511f 100644
--- a/modules/gui/src/python_shell/python_shell_widget.cc
+++ b/modules/gui/src/python_shell/python_shell_widget.cc
@@ -332,6 +332,13 @@ void PythonShellWidget::setup_state_machine_()
   single_line->addTransition(clear_all_tr_sl);
   connect(clear_all_tr_sl,SIGNAL(triggered()),this,SLOT(handle_clear_all_()));
 
+  single_line->addTransition(new KeyEventTransition(Qt::Key_Left,
+                                                    DNG_ARROW_MODIFIERS,
+                                                    single_line,
+                                                    true,
+                                                    new EditPositionGuard(this,EditPositionGuard::EQUAL,
+                                                                               EditPositionGuard::ANCHOREQUAL |EditPositionGuard::ANCHORBIGGER)));
+
   //multi line inactive transitions
   multi_line_inactive->addTransition(new KeyEventTransition(Qt::Key_Return,
                                                             Qt::NoModifier,