diff --git a/src/plugins/qmlprofiler/qmlprofilertool.cpp b/src/plugins/qmlprofiler/qmlprofilertool.cpp
index bd148c8551be98e8eb71e45dd552ef5fc9457ce3..60f53c31caa6f0b802dade48a7b3cb093728de71 100644
--- a/src/plugins/qmlprofiler/qmlprofilertool.cpp
+++ b/src/plugins/qmlprofiler/qmlprofilertool.cpp
@@ -298,6 +298,9 @@ void QmlProfilerTool::connectClient()
         if (QmlProfilerPlugin::debugOutput)
             qWarning("QmlProfiler: Failed to connect: %s", qPrintable(d->m_client->errorString()));
     }
+
+    if (d->m_traceWindow->isRecording())
+        clearDisplay();
 }
 
 void QmlProfilerTool::disconnectClient()
@@ -308,9 +311,11 @@ void QmlProfilerTool::disconnectClient()
 
 void QmlProfilerTool::startRecording()
 {
-    d->m_traceWindow->setRecordAtStart(true);
-    if (d->m_client->isConnected())
+   d->m_traceWindow->setRecordAtStart(true);
+    if (d->m_client->isConnected()) {
+        clearDisplay();
         d->m_traceWindow->setRecording(true);
+    }
     emit fetchingData(true);
 }