diff --git a/src/plugins/projectexplorer/task.cpp b/src/plugins/projectexplorer/task.cpp
index e8870ea52ef4fd0c6c2f3e242cf7fed21e8fc839..4dc799df49912583904db1539689f5ed5f669520 100644
--- a/src/plugins/projectexplorer/task.cpp
+++ b/src/plugins/projectexplorer/task.cpp
@@ -32,6 +32,17 @@
 namespace ProjectExplorer
 {
 
+Task &Task::operator=(const Task &source)
+{
+    type = source.type;
+    description = source.description;
+    file = source.file;
+    line = source.line;
+    category = source.category;
+    formats = source.formats;
+    return *this;
+}
+
 //
 // functions
 //
diff --git a/src/plugins/projectexplorer/task.h b/src/plugins/projectexplorer/task.h
index c86811647c26049a184ea7ea33bb159f5ee97ecb..e08d7213c152d0f8f35c1cf8a3dfa7d4bc701664 100644
--- a/src/plugins/projectexplorer/task.h
+++ b/src/plugins/projectexplorer/task.h
@@ -61,6 +61,8 @@ public:
     ~Task()
     { }
 
+    Task &operator=(const Task &source);
+
     TaskType type;
     QString description;
     QString file;