diff --git a/src/shared/trk/trkdevice.cpp b/src/shared/trk/trkdevice.cpp
index 8290a56097959a2bf99753672967b533bd617a35..1d23c77454fb56c4e3740cc6e17788f4e0d4aafb 100644
--- a/src/shared/trk/trkdevice.cpp
+++ b/src/shared/trk/trkdevice.cpp
@@ -504,7 +504,7 @@ static inline bool overlappedSyncWrite(HANDLE file,
 bool WriterThread::write(const QByteArray &data, QString *errorMessage)
 {
     if (verboseTrk)
-        qDebug() << "Write raw data: " << data.toHex();
+        qDebug() << "Write raw data: " << stringFromArray(data).toLatin1();
     QMutexLocker locker(&m_context->mutex);
 #ifdef Q_OS_WIN
     DWORD charsWritten;
@@ -1049,8 +1049,13 @@ void TrkDevice::sendTrkMessage(byte code, TrkCallback callback,
      const QByteArray &data, const QVariant &cookie)
 {
     if (!d->writerThread.isNull()) {
-        if (d->verbose > 1)
-            qDebug() << "Sending " << code << data.toHex();
+        if (d->verbose > 1) {
+            QByteArray msg = "Sending:  ";
+            msg += QByteArray::number(code, 16);
+            msg += ": ";
+            msg += stringFromArray(data).toLatin1();
+            qDebug("%s", msg.data());
+        }
         d->writerThread->queueTrkMessage(code, callback, data, cookie);
     }
 }
diff --git a/src/shared/trk/trkutils.cpp b/src/shared/trk/trkutils.cpp
index 024dea4c07c48b49568e85330a51e72e8ade5ab9..ce5d5867000444178bc0ef1bb7d95bc66e791240 100644
--- a/src/shared/trk/trkutils.cpp
+++ b/src/shared/trk/trkutils.cpp
@@ -192,6 +192,7 @@ QString TrkResult::toString() const
     res += QLatin1String(" [");
     res += stringFromByte(token);
     res += QLatin1Char(']');
+    res += QLatin1Char(' ');
     res += stringFromArray(data);
     return res;
 }