diff --git a/Code/Mantid/Framework/Algorithms/src/ConjoinWorkspaces.cpp b/Code/Mantid/Framework/Algorithms/src/ConjoinWorkspaces.cpp
index b3486e9ed9054e337266851351242568639bbc59..9084f32bd316c8f5f1d72a90ee4b3bdbdaed0d42 100644
--- a/Code/Mantid/Framework/Algorithms/src/ConjoinWorkspaces.cpp
+++ b/Code/Mantid/Framework/Algorithms/src/ConjoinWorkspaces.cpp
@@ -75,6 +75,8 @@ void ConjoinWorkspaces::exec() {
 
     // Both are event workspaces. Use the special method
     MatrixWorkspace_sptr output = this->execEvent();
+    // Copy the history from the original workspace
+    output->history().addHistory(ws1->getHistory());
     // Delete the second input workspace from the ADS
     AnalysisDataService::Instance().remove(getPropertyValue("InputWorkspace2"));
     // Set the result workspace to the first input
@@ -91,6 +93,8 @@ void ConjoinWorkspaces::exec() {
   }
 
   MatrixWorkspace_sptr output = execWS2D(ws1, ws2);
+  // Copy the history from the original workspace
+  output->history().addHistory(ws1->getHistory());
 
   // Delete the second input workspace from the ADS
   AnalysisDataService::Instance().remove(getPropertyValue("InputWorkspace2"));