diff --git a/src/plugins/qmlprofiler/qmlprofilerclientmanager.cpp b/src/plugins/qmlprofiler/qmlprofilerclientmanager.cpp
index 01a0d787a2d74d9ecd9562ea9880adeaf7a09cc0..a9002aa85b8911e12e7d39c4c7f8d5c257c90624 100644
--- a/src/plugins/qmlprofiler/qmlprofilerclientmanager.cpp
+++ b/src/plugins/qmlprofiler/qmlprofilerclientmanager.cpp
@@ -123,6 +123,13 @@ void QmlProfilerClientManager::clearBufferedData()
         d->v8clientplugin.data()->clearData();
 }
 
+void QmlProfilerClientManager::discardPendingData()
+{
+    if (d->connection)
+        d->connection->flush();
+    clearBufferedData();
+}
+
 ////////////////////////////////////////////////////////////////
 // Internal
 void QmlProfilerClientManager::connectClient(quint16 port)
diff --git a/src/plugins/qmlprofiler/qmlprofilerclientmanager.h b/src/plugins/qmlprofiler/qmlprofilerclientmanager.h
index 35766e7a5a833a6992648f43d092b47e5864480f..0ee061993a6d78c7a72b5ea2b37a48ac04930180 100644
--- a/src/plugins/qmlprofiler/qmlprofilerclientmanager.h
+++ b/src/plugins/qmlprofiler/qmlprofilerclientmanager.h
@@ -55,6 +55,7 @@ public:
     void setOstConnection(QString ostDevice);
 
     void clearBufferedData();
+    void discardPendingData();
 
 signals:
     void connectionFailed();
diff --git a/src/plugins/qmlprofiler/qmlprofilertool.cpp b/src/plugins/qmlprofiler/qmlprofilertool.cpp
index 46bf8b6085b82d69e9c939cbd63d3e805fb73596..6a16546e1a18cb52394b25c4687e798b64671c04 100644
--- a/src/plugins/qmlprofiler/qmlprofilertool.cpp
+++ b/src/plugins/qmlprofiler/qmlprofilertool.cpp
@@ -476,6 +476,7 @@ void QmlProfilerTool::updateTimeDisplay()
 void QmlProfilerTool::clearData()
 {
     d->m_profilerDataModel->clear();
+    d->m_profilerConnections->discardPendingData();
 }
 
 void QmlProfilerTool::clearDisplay()