diff --git a/Source/Processors/FileReader/FileReaderEditor.cpp b/Source/Processors/FileReader/FileReaderEditor.cpp
index 07111a940d75f990c9d7aa6edb293ef50427c15e..ce2d57c7cb2f223b6fbc6199d7c59e3f5970347e 100644
--- a/Source/Processors/FileReader/FileReaderEditor.cpp
+++ b/Source/Processors/FileReader/FileReaderEditor.cpp
@@ -145,7 +145,6 @@ void FileReaderEditor::setTotalTime(unsigned int ms)
 
 void FileReaderEditor::setCurrentTime(unsigned int ms)
 {
-    MessageManagerLock mml;
     currentTime->setTimeMilliseconds(0,ms);
 }
 
@@ -296,10 +295,21 @@ void DualTimeComponent::setTimeMilliseconds(unsigned int index, unsigned int tim
     time /= 60;
     hourFrac = time;
 
-    String text = String(hourFrac).paddedLeft('0',2) + ":" + String(minFrac).paddedLeft('0',2) + ":" +
+    labelText[index] = String(hourFrac).paddedLeft('0',2) + ":" + String(minFrac).paddedLeft('0',2) + ":" +
                   String(secFrac).paddedLeft('0',2) + "." + String(msFrac).paddedLeft('0',3);
+	if (editor->acquisitionIsActive)
+	{
+		triggerAsyncUpdate();
+	}
+	else
+	{
+		timeLabel[index]->setText(labelText[index],dontSendNotification);
+	}		
+}
 
-    timeLabel[index]->setText(text,dontSendNotification);
+void DualTimeComponent::handleAsyncUpdate()
+{
+	timeLabel[0]->setText(labelText[0],dontSendNotification);
 }
 
 unsigned int DualTimeComponent::getTimeMilliseconds(unsigned int index)
diff --git a/Source/Processors/FileReader/FileReaderEditor.h b/Source/Processors/FileReader/FileReaderEditor.h
index a94106a380b5001a291dcaf974da5a3502231de5..aa365bf460d7eb6fb303701ab0a257fcc4a53c13 100644
--- a/Source/Processors/FileReader/FileReaderEditor.h
+++ b/Source/Processors/FileReader/FileReaderEditor.h
@@ -87,7 +87,7 @@ private:
 };
 
 class DualTimeComponent : public Component,
-    public Label::Listener
+	public Label::Listener, public AsyncUpdater
 {
 public:
     DualTimeComponent(FileReaderEditor* e, bool isEditable);
@@ -97,12 +97,14 @@ public:
     void paint(Graphics& g);
     void labelTextChanged(Label* label);
     void setEnable(bool enable);
+	void handleAsyncUpdate();
 
 private:
     ScopedPointer<Label> timeLabel[2];
     unsigned int msTime[2];
     FileReaderEditor* editor;
     bool editable;
+	String labelText[2];
 
 };