diff --git a/src/command.cpp b/src/command.cpp
index b00164406bfd3116712f56d45b5c2fba6dcb1c65..777ec668a7a10de88ff7eaab67b49e86fc8763c1 100644
--- a/src/command.cpp
+++ b/src/command.cpp
@@ -63,7 +63,7 @@ Command Command::fromString(const QString& source)
                           : QString();
 
 
-    if (token.isEmpty() && action != Action::queryServerInformation && action != Action::authenticate) {
+    if (token.isEmpty() && action != Action::queryServerInformation && action != Action::authenticate && action != Action::error) {
         logError("JSON object does not contain token although it is required for requested action.");
         return Command();
     }
@@ -84,6 +84,8 @@ Command Command::fromString(const QString& source)
         case Action::stopAdc:
         case Action::clearHistogram:
             return Command(action, Arguments(), token);
+        case Action::error:
+            return parseError(rootobj);
         // Not yet implemented:
         case Action::queryServerInformation:
         case Action::updateExperimentState:
@@ -128,6 +130,8 @@ Action Command::parseActionString(const QString& string)
         return Action::fillHistogram;
     if (string == QStringLiteral("clearHistogram"))
         return Action::clearHistogram;
+    if (string == QStringLiteral("error"))
+        return Action::error;
 
     logError(QStringLiteral("Action \"") + string + QStringLiteral(" unknown."));
     return Action::invalid;
@@ -242,6 +246,8 @@ QString Command::getActionString(const Action action)
             return QStringLiteral("fillHistogram");
         case Action::clearHistogram:
             return QStringLiteral("clearHistogram");
+        case Action::error:
+            return QStringLiteral("error");
         case Action::invalid:
         default:
             return QString();