diff --git a/librecad/src/lib/gui/rs_eventhandler.cpp b/librecad/src/lib/gui/rs_eventhandler.cpp
index 7a6e6ab..f07a79a 100644
--- a/librecad/src/lib/gui/rs_eventhandler.cpp
+++ b/librecad/src/lib/gui/rs_eventhandler.cpp
@@ -219,20 +219,24 @@ void RS_EventHandler::keyReleaseEvent(QKeyEvent* e) {
     }
 }
 
+void RS_EventHandler::commandSyntaxError(const QString &strError)
+{
+    RS_DIALOGFACTORY->commandMessage( "Expression Syntax Error: " + strError);
+}
+
 /**
  * Handles command line events.
  */
-void RS_EventHandler::commandEvent(RS_CommandEvent* e) {
-    RS_DEBUG->print("RS_EventHandler::commandEvent");
+void RS_EventHandler::commandEvent(RS_CommandEvent* e)
+{
     QString cmd = e->getCommand();
 
+    RS_DEBUG->print("RS_EventHandler::commandEvent : %s", cmd.toUtf8().constData());
     if (coordinateInputEnabled) {
         if (!e->isAccepted()) {
-
             if(hasAction()){
                 // handle absolute cartesian coordinate input:
                 if (cmd.contains(',') && cmd.at(0)!='@') {
-
                     int commaPos = cmd.indexOf(',');
                     RS_DEBUG->print("RS_EventHandler::commandEvent: 001");
                     bool ok1, ok2;
@@ -246,11 +250,12 @@ void RS_EventHandler::commandEvent(RS_CommandEvent* e) {
                         RS_DEBUG->print("RS_EventHandler::commandEvent: 005");
                         RS_CoordinateEvent ce(RS_Vector(x,y));
                         RS_DEBUG->print("RS_EventHandler::commandEvent: 006");
-						currentActions.last()->coordinateEvent(&ce);
-					} else
-						RS_DIALOGFACTORY->commandMessage(
-									"Expression Syntax Error");
-					e->accept();
+                        currentActions.last()->coordinateEvent(&ce);
+                    }
+                    else {
+                        commandSyntaxError( tr("no absolute coordinate input"));
+                    }
+                    e->accept();
                 }
 
                 // handle relative cartesian coordinate input:
@@ -261,15 +266,23 @@ void RS_EventHandler::commandEvent(RS_CommandEvent* e) {
                         double x = RS_Math::eval(cmd.mid(1, commaPos-1), &ok1);
                         double y = RS_Math::eval(cmd.mid(commaPos+1), &ok2);
 
+RS_DIALOGFACTORY->commandMessage( QString("relative cartesian input detected: [%1]").arg( QString( cmd.toUtf8().toHex())));
+RS_DIALOGFACTORY->commandMessage( QString("comma: %1  X %2 [%3]  Y %4 [%5]")
+                                  .arg(commaPos)
+                                  .arg(x)
+                                  .arg(ok1 ? "ok" : "fail")
+                                  .arg(y)
+                                  .arg(ok2 ? "ok" : "fail") );
+
                         if (ok1 && ok2) {
                             RS_CoordinateEvent ce(RS_Vector(x,y) + relative_zero);
 
                             currentActions.last()->coordinateEvent(&ce);
-                            //                            currentActions[actionIndex]->coordinateEvent(&ce);
-						} else
-							RS_DIALOGFACTORY->commandMessage(
-										"Expression Syntax Error");
-						e->accept();
+                        }
+                        else {
+                            commandSyntaxError( tr("no relative coordinate input"));
+                        }
+                        e->accept();
                     }
                 }
 
@@ -282,13 +295,13 @@ void RS_EventHandler::commandEvent(RS_CommandEvent* e) {
                         double a = RS_Math::eval(cmd.mid(commaPos+1), &ok2);
 
                         if (ok1 && ok2) {
-							RS_Vector pos{
-								RS_Vector::polar(r,RS_Math::deg2rad(a))};
+                            RS_Vector pos {RS_Vector::polar(r,RS_Math::deg2rad(a))};
                             RS_CoordinateEvent ce(pos);
-                            currentActions.last()->coordinateEvent(&ce);
-						} else
-                                RS_DIALOGFACTORY->commandMessage(
-                                            "Expression Syntax Error");
+                            currentActions.last()->coordinateEvent( &ce);
+                        }
+                        else {
+                            commandSyntaxError( tr("no absolute polar input"));
+                        }
                         e->accept();
                     }
                 }
@@ -301,30 +314,43 @@ void RS_EventHandler::commandEvent(RS_CommandEvent* e) {
                         double r = RS_Math::eval(cmd.mid(1, commaPos-1), &ok1);
                         double a = RS_Math::eval(cmd.mid(commaPos+1), &ok2);
 
+                        RS_DIALOGFACTORY->commandMessage( QString("relative polar input detected: [%1]").arg(QString(cmd.toUtf8().toHex())));
+                        RS_DIALOGFACTORY->commandMessage( QString("comma: %1  R %2 [%3]  A %4 [%5]")
+                                                          .arg(commaPos)
+                                                          .arg(r)
+                                                          .arg(ok1 ? "ok" : "fail")
+                                                          .arg(a)
+                                                          .arg(ok2 ? "ok" : "fail") );
+
                         if (ok1 && ok2) {
-							RS_Vector pos = RS_Vector::polar(r,RS_Math::deg2rad(a));
+                            RS_Vector pos {RS_Vector::polar(r,RS_Math::deg2rad(a))};
                             RS_CoordinateEvent ce(pos + relative_zero);
                             currentActions.last()->coordinateEvent(&ce);
-						} else
-                                RS_DIALOGFACTORY->commandMessage(
-                                            "Expression Syntax Error");
+                        }
+                        else {
+                            commandSyntaxError( tr("no relative polar input"));
+                        }
                         e->accept();
                     }
                 }
 
                 // send command event directly to current action:
                 if (!e->isAccepted()) {
-//                    std::cout<<"RS_EventHandler::commandEvent(RS_CommandEvent* e): sending cmd("<<qPrintable(e->getCommand()) <<") to action: "<<currentActions.last()->rtti()<<std::endl;
+                    RS_DEBUG->print("RS_EventHandler::commandEvent - sending cmd(%s) to action: %d",
+                                    qPrintable(e->getCommand()),
+                                    currentActions.last()->rtti() );
                     currentActions.last()->commandEvent(e);
                 }
-            }else{
-            //send the command to default action
+            }
+            else {
+                //send the command to default action
                 if (defaultAction) {
                     defaultAction->commandEvent(e);
                 }
             }
-            // do not accept command here. Actions themselves should be responsible to accept commands
-//            e->accept();
+
+            // do not accept command here!
+            // Actions themselves should be responsible to accept commands
         }
     }
 
diff --git a/librecad/src/lib/gui/rs_eventhandler.h b/librecad/src/lib/gui/rs_eventhandler.h
index 7bafdff..3d4073e 100644
--- a/librecad/src/lib/gui/rs_eventhandler.h
+++ b/librecad/src/lib/gui/rs_eventhandler.h
@@ -68,6 +68,7 @@ public:
     void keyPressEvent(QKeyEvent* e);
     void keyReleaseEvent(QKeyEvent* e);
 
+    void commandSyntaxError(const QString& strError);
     void commandEvent(RS_CommandEvent* e);
     void enableCoordinateInput();
     void disableCoordinateInput();
