diff --git a/Framework/API/src/WorkspaceProperty.cpp b/Framework/API/src/WorkspaceProperty.cpp
index 37088c4476f0b4fcb1ed6f0c6fd8edb87e79eb3a..42bc43201755e39b950833a9b35915de896ae7aa 100644
--- a/Framework/API/src/WorkspaceProperty.cpp
+++ b/Framework/API/src/WorkspaceProperty.cpp
@@ -1,10 +1,12 @@
-#include "MantidAPI/Workspace.h"
-#include "MantidAPI/IMDWorkspace.h"
 #include "MantidAPI/IEventWorkspace.h"
 #include "MantidAPI/IMDEventWorkspace.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/IMDHistoWorkspace.h"
+#include "MantidAPI/IMDWorkspace.h"
+#include "MantidAPI/IPeaksWorkspace.h"
 #include "MantidAPI/ISplittersWorkspace.h"
+#include "MantidAPI/ITableWorkspace.h"
 #include "MantidAPI/WorkspaceGroup.h"
+#include "MantidAPI/Workspace.h"
 
 // WorkspaceProperty implementation
 #include "MantidAPI/WorkspaceProperty.tcc"
@@ -18,10 +20,14 @@ template class MANTID_API_DLL
     Mantid::API::WorkspaceProperty<Mantid::API::IEventWorkspace>;
 template class MANTID_API_DLL
     Mantid::API::WorkspaceProperty<Mantid::API::IMDEventWorkspace>;
+template class MANTID_API_DLL
+    Mantid::API::WorkspaceProperty<Mantid::API::IMDHistoWorkspace>;
 template class MANTID_API_DLL
     Mantid::API::WorkspaceProperty<Mantid::API::IMDWorkspace>;
 template class MANTID_API_DLL
     Mantid::API::WorkspaceProperty<Mantid::API::MatrixWorkspace>;
+template class MANTID_API_DLL
+    Mantid::API::WorkspaceProperty<Mantid::API::IPeaksWorkspace>;
 template class MANTID_API_DLL
     Mantid::API::WorkspaceProperty<Mantid::API::ITableWorkspace>;
 template class MANTID_API_DLL
diff --git a/Framework/Algorithms/test/AsymmetryCalcTest.h b/Framework/Algorithms/test/AsymmetryCalcTest.h
index 8deb314373051ceae9d4a02181540ed27c7f4ccb..2413097de9224b22c5743eb3f8914a1a97db8fa4 100644
--- a/Framework/Algorithms/test/AsymmetryCalcTest.h
+++ b/Framework/Algorithms/test/AsymmetryCalcTest.h
@@ -7,6 +7,7 @@
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/IAlgorithm.h"
 #include "MantidAPI/Workspace.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidAlgorithms/AsymmetryCalc.h"
 #include "MantidDataHandling/GroupDetectors.h"
 #include "MantidDataHandling/LoadInstrument.h"
diff --git a/Framework/Algorithms/test/CalMuonDetectorPhasesTest.h b/Framework/Algorithms/test/CalMuonDetectorPhasesTest.h
index 6f05454434fc3b749bbc497d3123833e5f03c4cc..90a8ee919699685c0cd922d7ac20eb005aa54df7 100644
--- a/Framework/Algorithms/test/CalMuonDetectorPhasesTest.h
+++ b/Framework/Algorithms/test/CalMuonDetectorPhasesTest.h
@@ -11,6 +11,7 @@
 #include "MantidAPI/MatrixWorkspace.h"
 #include "MantidAPI/Run.h"
 #include "MantidAPI/Workspace.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidGeometry/Instrument.h"
 #include "MantidKernel/cow_ptr.h"
 #include "MantidKernel/PhysicalConstants.h"
diff --git a/Framework/Algorithms/test/ChangeTimeZeroTest.h b/Framework/Algorithms/test/ChangeTimeZeroTest.h
index cff58f6fa4f61e1050c53eabe8d8228133944824..ea7d563cae94a7796823ba76fc76dca29b7e9a55 100644
--- a/Framework/Algorithms/test/ChangeTimeZeroTest.h
+++ b/Framework/Algorithms/test/ChangeTimeZeroTest.h
@@ -12,6 +12,7 @@
 #include "MantidDataObjects/EventWorkspace.h"
 #include "MantidDataObjects/EventList.h"
 #include "MantidAPI/MatrixWorkspace.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidKernel/DateTimeValidator.h"
 
 using namespace Mantid::Kernel;
diff --git a/Framework/Algorithms/test/CheckWorkspacesMatchTest.h b/Framework/Algorithms/test/CheckWorkspacesMatchTest.h
index fe6f7fb6dbcfdc8f378feb7f7c4d1f281315806e..d57f6a5dcc68fe57f8bff4fa6dd9735063389ed4 100644
--- a/Framework/Algorithms/test/CheckWorkspacesMatchTest.h
+++ b/Framework/Algorithms/test/CheckWorkspacesMatchTest.h
@@ -7,6 +7,7 @@
 #include "MantidAPI/FrameworkManager.h"
 #include "MantidAPI/NumericAxis.h"
 #include "MantidAPI/Sample.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidKernel/UnitFactory.h"
 #include "MantidDataObjects/EventWorkspace.h"
 #include "MantidDataObjects/PeaksWorkspace.h"
diff --git a/Framework/Algorithms/test/ChopDataTest.h b/Framework/Algorithms/test/ChopDataTest.h
index 0cf6b1fff3bc6d38d02257b0e36a6c5bffb9d774..2b6ce63538c55d3400606c7833b5c582eedc854e 100644
--- a/Framework/Algorithms/test/ChopDataTest.h
+++ b/Framework/Algorithms/test/ChopDataTest.h
@@ -5,6 +5,7 @@
 
 #include "MantidAlgorithms/ChopData.h"
 #include "MantidAPI/Axis.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 using namespace Mantid::API;
diff --git a/Framework/Algorithms/test/CloneWorkspaceTest.h b/Framework/Algorithms/test/CloneWorkspaceTest.h
index c35f470f9f48995bc3f8b51d3997f4e332f5334d..4a5d745b8bf2aed4fc9a93d08912e9220b5bac3b 100644
--- a/Framework/Algorithms/test/CloneWorkspaceTest.h
+++ b/Framework/Algorithms/test/CloneWorkspaceTest.h
@@ -10,6 +10,7 @@
 #include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidTestHelpers/ComponentCreationHelper.h"
 #include "MantidAPI/AnalysisDataService.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidDataObjects/MDEventFactory.h"
 #include "MantidTestHelpers/MDEventsTestHelper.h"
 #include "MantidGeometry/Instrument.h"
diff --git a/Framework/Algorithms/test/CompareWorkspacesTest.h b/Framework/Algorithms/test/CompareWorkspacesTest.h
index 3f04aae3798099f3eee2763416b767f4e0657f22..741ff8f55dff06472fe279de25aff7b29b1cad89 100644
--- a/Framework/Algorithms/test/CompareWorkspacesTest.h
+++ b/Framework/Algorithms/test/CompareWorkspacesTest.h
@@ -9,6 +9,7 @@
 #include "MantidAPI/MatrixWorkspace.h"
 #include "MantidAPI/NumericAxis.h"
 #include "MantidAPI/Sample.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidDataObjects/EventWorkspace.h"
 #include "MantidDataObjects/MDBoxBase.h"
 #include "MantidDataObjects/MDHistoWorkspace.h"
diff --git a/Framework/Algorithms/test/ConvertToDistributionTest.h b/Framework/Algorithms/test/ConvertToDistributionTest.h
index 73aed2000b1c094bc46e2036c5f4e01c2600adcd..3e2a06ef6444617c3ada8b91f3396fcf4bc14531 100644
--- a/Framework/Algorithms/test/ConvertToDistributionTest.h
+++ b/Framework/Algorithms/test/ConvertToDistributionTest.h
@@ -6,6 +6,7 @@
 
 #include "MantidAlgorithms/ConvertToDistribution.h"
 #include "MantidAPI/AnalysisDataService.h"
+#include "MantidAPI/WorkspaceGroup.h"
 
 using namespace Mantid::API;
 using Mantid::Algorithms::ConvertToDistribution;
diff --git a/Framework/Algorithms/test/FFTTest.h b/Framework/Algorithms/test/FFTTest.h
index f00fb4d764367972510b649f5c1f585c9a76ecad..01100624c558052aa4a25c04f953ec6891ff5724 100644
--- a/Framework/Algorithms/test/FFTTest.h
+++ b/Framework/Algorithms/test/FFTTest.h
@@ -9,6 +9,7 @@
 #include "MantidAPI/FrameworkManager.h"
 #include "MantidAPI/MatrixWorkspace.h"
 #include "MantidAPI/WorkspaceFactory.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidAlgorithms/FFT.h"
 #include "MantidDataObjects/Workspace2D.h"
 #include "MantidKernel/UnitFactory.h"
diff --git a/Framework/Algorithms/test/GroupWorkspacesTest.h b/Framework/Algorithms/test/GroupWorkspacesTest.h
index a1f0cbfd1b90a2c6f894db09c1988f3d532d6cb2..3028dd9f2f273e103a8255ce944cc38e6ccea044 100644
--- a/Framework/Algorithms/test/GroupWorkspacesTest.h
+++ b/Framework/Algorithms/test/GroupWorkspacesTest.h
@@ -3,6 +3,7 @@
 
 #include <cxxtest/TestSuite.h>
 #include "MantidAlgorithms/GroupWorkspaces.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 class GroupWorkspacesTest : public CxxTest::TestSuite {
diff --git a/Framework/Algorithms/test/ImggTomographicReconstructionTest.h b/Framework/Algorithms/test/ImggTomographicReconstructionTest.h
index a6d196ddc4b9ea0f997c9b2df42ba3088a1536a6..7554afb5be01ed891e2ff74e270b4058929c6263 100644
--- a/Framework/Algorithms/test/ImggTomographicReconstructionTest.h
+++ b/Framework/Algorithms/test/ImggTomographicReconstructionTest.h
@@ -5,6 +5,7 @@
 
 #include "MantidAlgorithms/ImggTomographicReconstruction.h"
 #include "MantidAPI/AlgorithmManager.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidKernel/Exception.h"
 
 #include "MantidTestHelpers/WorkspaceCreationHelper.h"
diff --git a/Framework/Algorithms/test/MaxEntTest.h b/Framework/Algorithms/test/MaxEntTest.h
index 0f4a83f63435ff3b1c2668faaee945e4af2a9a33..3587bdd03c1e6bfa10fe482ff970f2f873ee8045 100644
--- a/Framework/Algorithms/test/MaxEntTest.h
+++ b/Framework/Algorithms/test/MaxEntTest.h
@@ -7,6 +7,7 @@
 #include "MantidAPI/FrameworkManager.h"
 #include "MantidAPI/TextAxis.h"
 #include "MantidAPI/WorkspaceFactory.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidAlgorithms/MaxEnt.h"
 #include "MantidKernel/UnitFactory.h"
 #include "MantidTestHelpers/WorkspaceCreationHelper.h"
diff --git a/Framework/Algorithms/test/PolarizationCorrectionTest.h b/Framework/Algorithms/test/PolarizationCorrectionTest.h
index 64118deb7130cf520392197adf4a02ec10e7b611..28bd158976ade9c10d6d1b8f1be987cc2e1de6f1 100644
--- a/Framework/Algorithms/test/PolarizationCorrectionTest.h
+++ b/Framework/Algorithms/test/PolarizationCorrectionTest.h
@@ -9,6 +9,7 @@
 #include <boost/make_shared.hpp>
 #include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidAPI/AlgorithmManager.h"
+#include "MantidAPI/WorkspaceGroup.h"
 
 using namespace Mantid::API;
 using namespace Mantid::Algorithms;
diff --git a/Framework/Algorithms/test/Q1DWeightedTest.h b/Framework/Algorithms/test/Q1DWeightedTest.h
index e7f5fe2de36134ed0e540b2e43a733db6f2e4f97..64f974552c36326d84f16204ceb639496d410d6d 100644
--- a/Framework/Algorithms/test/Q1DWeightedTest.h
+++ b/Framework/Algorithms/test/Q1DWeightedTest.h
@@ -5,6 +5,7 @@
 #include "MantidAlgorithms/Q1DWeighted.h"
 #include "MantidDataHandling/LoadSpice2D.h"
 #include "MantidDataHandling/MoveInstrumentComponent.h"
+#include "MantidAPI/WorkspaceGroup.h"
 
 using namespace Mantid::API;
 using namespace Mantid::Kernel;
diff --git a/Framework/Algorithms/test/ReflectometryReductionOneAutoTest.h b/Framework/Algorithms/test/ReflectometryReductionOneAutoTest.h
index 1465fecad01cd4357ea537824619e1dc7f9a91c5..2a9889e5702c0c28897d1502bbed4a15af7457c7 100644
--- a/Framework/Algorithms/test/ReflectometryReductionOneAutoTest.h
+++ b/Framework/Algorithms/test/ReflectometryReductionOneAutoTest.h
@@ -7,6 +7,8 @@
 #include "MantidAPI/AlgorithmManager.h"
 #include "MantidAPI/Axis.h"
 #include "MantidAPI/FrameworkManager.h"
+#include "MantidAPI/WorkspaceGroup.h"
+#include "MantidGeometry/Instrument.h"
 #include "MantidGeometry/Instrument/ReferenceFrame.h"
 #include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
@@ -572,4 +574,4 @@ public:
   }
 };
 
-#endif /* MANTID_ALGORITHMS_REFLECTOMETRYREDUCTIONONEAUTOTEST_H_ */
\ No newline at end of file
+#endif /* MANTID_ALGORITHMS_REFLECTOMETRYREDUCTIONONEAUTOTEST_H_ */
diff --git a/Framework/Algorithms/test/RenameWorkspaceTest.h b/Framework/Algorithms/test/RenameWorkspaceTest.h
index fa94ec20dda2ec6bc1323add4f477d6e8c945b2e..21bbd4ff4cea5b3a8cdfbca8ed0771f17aa6fd98 100644
--- a/Framework/Algorithms/test/RenameWorkspaceTest.h
+++ b/Framework/Algorithms/test/RenameWorkspaceTest.h
@@ -6,6 +6,7 @@
 #include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidAlgorithms/RenameWorkspace.h"
 #include "MantidAPI/AnalysisDataService.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidKernel/Exception.h"
 
 using namespace Mantid::API;
diff --git a/Framework/Algorithms/test/RenameWorkspacesTest.h b/Framework/Algorithms/test/RenameWorkspacesTest.h
index 84edbac9066301f1a0f87dbd01d9610a4550f64e..6fba6a2a3c0ed631cdd509a1f50cabda8b4b9085 100644
--- a/Framework/Algorithms/test/RenameWorkspacesTest.h
+++ b/Framework/Algorithms/test/RenameWorkspacesTest.h
@@ -6,6 +6,7 @@
 #include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidAlgorithms/RenameWorkspaces.h"
 #include "MantidAPI/AnalysisDataService.h"
+#include "MantidAPI/WorkspaceGroup.h"
 
 using namespace Mantid::API;
 using namespace Mantid::Kernel;
diff --git a/Framework/Algorithms/test/ResampleXTest.h b/Framework/Algorithms/test/ResampleXTest.h
index 0621a3c96240b672106fa8a48dfa6630daf56497..e50b72d4d56c162eed3ca7daddb1515745ba5c93 100644
--- a/Framework/Algorithms/test/ResampleXTest.h
+++ b/Framework/Algorithms/test/ResampleXTest.h
@@ -4,6 +4,7 @@
 #include <cxxtest/TestSuite.h>
 
 #include "MantidAlgorithms/ResampleX.h"
+#include "MantidAPI/AnalysisDataService.h"
 
 using namespace Mantid::API;
 using Mantid::Algorithms::ResampleX;
diff --git a/Framework/Algorithms/test/SassenaFFTTest.h b/Framework/Algorithms/test/SassenaFFTTest.h
index 721b6a800efd8a4aa92b288d9ef316dd63207d0c..4c15d0aa2fc5219da2356e5a9f2e1f2b96e7434c 100644
--- a/Framework/Algorithms/test/SassenaFFTTest.h
+++ b/Framework/Algorithms/test/SassenaFFTTest.h
@@ -8,6 +8,7 @@
 #include "MantidKernel/UnitFactory.h"
 #include "MantidDataHandling/SaveAscii.h"
 #include "MantidAPI/FileProperty.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidKernel/PhysicalConstants.h"
 
 using namespace Mantid;
diff --git a/Framework/Algorithms/test/Stitch1DManyTest.h b/Framework/Algorithms/test/Stitch1DManyTest.h
index 4e3ba5d1ecd4f55ca8b391ee56f2dc5176e5c8cb..da6d9db7acfd20555cc8c7908e6129d152f60cbe 100644
--- a/Framework/Algorithms/test/Stitch1DManyTest.h
+++ b/Framework/Algorithms/test/Stitch1DManyTest.h
@@ -10,6 +10,7 @@
 #include "MantidAPI/ITableWorkspace.h"
 #include "MantidAPI/MatrixWorkspace.h"
 #include "MantidAPI/WorkspaceFactory.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidKernel/UnitFactory.h"
 #include <math.h>
 
diff --git a/Framework/Algorithms/test/UnGroupWorkspaceTest.h b/Framework/Algorithms/test/UnGroupWorkspaceTest.h
index 601170796c3990c3f10b43a6ffdcd761e453c634..5ac8f529940afddc0fe5e51b703b0a9e3ac5a0cb 100644
--- a/Framework/Algorithms/test/UnGroupWorkspaceTest.h
+++ b/Framework/Algorithms/test/UnGroupWorkspaceTest.h
@@ -4,6 +4,7 @@
 #include <cxxtest/TestSuite.h>
 #include "MantidAlgorithms/UnGroupWorkspace.h"
 #include "MantidAPI/AnalysisDataService.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 class UnGroupWorkspaceTest : public CxxTest::TestSuite {
diff --git a/Framework/Crystal/test/CalculateUMatrixTest.h b/Framework/Crystal/test/CalculateUMatrixTest.h
index 6e6a5494ba365201065fc0181aac5ad9ba951716..60bd1aff51de6e93e31e2c0a2cab55fe76446967 100644
--- a/Framework/Crystal/test/CalculateUMatrixTest.h
+++ b/Framework/Crystal/test/CalculateUMatrixTest.h
@@ -4,6 +4,7 @@
 #include <cxxtest/TestSuite.h>
 #include "MantidKernel/Timer.h"
 #include "MantidKernel/System.h"
+#include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/Run.h"
 #include "MantidAPI/Sample.h"
 
diff --git a/Framework/Crystal/test/FindUBUsingFFTTest.h b/Framework/Crystal/test/FindUBUsingFFTTest.h
index 8666128f835f20a10d9dbb5832c0bc2ae9c64fe4..efa17e6c367388815c6192e6d2918ba50bd368d2 100644
--- a/Framework/Crystal/test/FindUBUsingFFTTest.h
+++ b/Framework/Crystal/test/FindUBUsingFFTTest.h
@@ -4,6 +4,7 @@
 #include <cxxtest/TestSuite.h>
 #include "MantidKernel/Timer.h"
 #include "MantidKernel/System.h"
+#include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/Sample.h"
 
 #include "MantidCrystal/FindUBUsingFFT.h"
diff --git a/Framework/Crystal/test/FindUBUsingIndexedPeaksTest.h b/Framework/Crystal/test/FindUBUsingIndexedPeaksTest.h
index f33a81dd1a80da6ddbfa55654e7a74c87ad957f8..fc60c2c910fd55e8190620d88497193a36719204 100644
--- a/Framework/Crystal/test/FindUBUsingIndexedPeaksTest.h
+++ b/Framework/Crystal/test/FindUBUsingIndexedPeaksTest.h
@@ -4,6 +4,7 @@
 #include <cxxtest/TestSuite.h>
 #include "MantidKernel/Timer.h"
 #include "MantidKernel/System.h"
+#include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/Sample.h"
 
 #include "MantidCrystal/FindUBUsingIndexedPeaks.h"
diff --git a/Framework/Crystal/test/FindUBUsingLatticeParametersTest.h b/Framework/Crystal/test/FindUBUsingLatticeParametersTest.h
index 22082cccdaf8cb1b6c55917b8e002cba82976518..b357fa094e3c902c3ffb756c4539f87a2abc4482 100644
--- a/Framework/Crystal/test/FindUBUsingLatticeParametersTest.h
+++ b/Framework/Crystal/test/FindUBUsingLatticeParametersTest.h
@@ -4,6 +4,7 @@
 #include <cxxtest/TestSuite.h>
 #include "MantidKernel/Timer.h"
 #include "MantidKernel/System.h"
+#include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/Sample.h"
 
 #include "MantidCrystal/FindUBUsingLatticeParameters.h"
diff --git a/Framework/Crystal/test/FindUBUsingMinMaxDTest.h b/Framework/Crystal/test/FindUBUsingMinMaxDTest.h
index d39bd22926bc48d1fa9f55d00bd0250323e94aaa..c192e78b2e4666a4153991e12d91f79c731a767f 100644
--- a/Framework/Crystal/test/FindUBUsingMinMaxDTest.h
+++ b/Framework/Crystal/test/FindUBUsingMinMaxDTest.h
@@ -4,6 +4,7 @@
 #include <cxxtest/TestSuite.h>
 #include "MantidKernel/Timer.h"
 #include "MantidKernel/System.h"
+#include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/Sample.h"
 
 #include "MantidCrystal/FindUBUsingMinMaxD.h"
diff --git a/Framework/Crystal/test/IndexPeaksTest.h b/Framework/Crystal/test/IndexPeaksTest.h
index 2a4d066ca2d654438bdfc262222255dbff587229..8042fb3e5fa389fcfef58c9eda4ca75016ee70ab 100644
--- a/Framework/Crystal/test/IndexPeaksTest.h
+++ b/Framework/Crystal/test/IndexPeaksTest.h
@@ -4,6 +4,7 @@
 #include <cxxtest/TestSuite.h>
 #include "MantidKernel/Timer.h"
 #include "MantidKernel/System.h"
+#include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/Sample.h"
 
 #include "MantidCrystal/IndexPeaks.h"
diff --git a/Framework/Crystal/test/IndexSXPeaksTest.h b/Framework/Crystal/test/IndexSXPeaksTest.h
index 67c6ab3140efbf7eb64e89e64dc514de3a62cfa9..abf8de06f31810d58034bba9f4a6599285d309f1 100644
--- a/Framework/Crystal/test/IndexSXPeaksTest.h
+++ b/Framework/Crystal/test/IndexSXPeaksTest.h
@@ -2,6 +2,7 @@
 #define INDEX_SX_PEAKS_TEST_H_
 
 #include <cxxtest/TestSuite.h>
+#include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/ITableWorkspace.h"
 #include "MantidAPI/WorkspaceFactory.h"
 #include "MantidAPI/TableRow.h"
diff --git a/Framework/Crystal/test/LoadHKLTest.h b/Framework/Crystal/test/LoadHKLTest.h
index c3a29814ed2be30ef3b5d6edad9143e9d6ab176d..84395d8e9f99ec125bc7522def6d4f7363746590 100644
--- a/Framework/Crystal/test/LoadHKLTest.h
+++ b/Framework/Crystal/test/LoadHKLTest.h
@@ -9,6 +9,7 @@
 #include "MantidKernel/Material.h"
 #include "MantidKernel/System.h"
 #include "MantidKernel/Timer.h"
+#include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/Run.h"
 #include "MantidAPI/Sample.h"
 #include "MantidTestHelpers/ComponentCreationHelper.h"
diff --git a/Framework/Crystal/test/SelectCellOfTypeTest.h b/Framework/Crystal/test/SelectCellOfTypeTest.h
index 101eb3830c21b504887690ef3333e04618bb9b4c..a89c12976b28ddc4c7bfabe043e5edd840e3058b 100644
--- a/Framework/Crystal/test/SelectCellOfTypeTest.h
+++ b/Framework/Crystal/test/SelectCellOfTypeTest.h
@@ -10,6 +10,7 @@
 #include "MantidGeometry/Crystal/IndexingUtils.h"
 #include "MantidGeometry/Crystal/OrientedLattice.h"
 #include "MantidCrystal/LoadIsawUB.h"
+#include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/Sample.h"
 
 using namespace Mantid;
diff --git a/Framework/Crystal/test/SelectCellWithFormTest.h b/Framework/Crystal/test/SelectCellWithFormTest.h
index eb5538814cebd1b3fec7714504ea49dbe5117b48..4f684f1214744df4e520d0e23831fc3b7eed5855 100644
--- a/Framework/Crystal/test/SelectCellWithFormTest.h
+++ b/Framework/Crystal/test/SelectCellWithFormTest.h
@@ -10,6 +10,7 @@
 #include "MantidGeometry/Crystal/IndexingUtils.h"
 #include "MantidGeometry/Crystal/OrientedLattice.h"
 #include "MantidCrystal/LoadIsawUB.h"
+#include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/Sample.h"
 
 using namespace Mantid;
diff --git a/Framework/Crystal/test/ShowPossibleCellsTest.h b/Framework/Crystal/test/ShowPossibleCellsTest.h
index b036c34003296a5e5f086d55582a964a30375f0b..e7b519d3e023f073d9f50c7c1835efa6e655cda0 100644
--- a/Framework/Crystal/test/ShowPossibleCellsTest.h
+++ b/Framework/Crystal/test/ShowPossibleCellsTest.h
@@ -10,6 +10,7 @@
 #include "MantidGeometry/Crystal/IndexingUtils.h"
 #include "MantidGeometry/Crystal/OrientedLattice.h"
 #include "MantidCrystal/LoadIsawUB.h"
+#include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/Sample.h"
 
 using namespace Mantid;
diff --git a/Framework/Crystal/test/SortHKLTest.h b/Framework/Crystal/test/SortHKLTest.h
index 1cd0517b08fd284a63c8a2bb4c5300885bc1980b..db8210cfd56239f17121b21a750e2e0e1903e849 100644
--- a/Framework/Crystal/test/SortHKLTest.h
+++ b/Framework/Crystal/test/SortHKLTest.h
@@ -8,6 +8,7 @@
 #include "MantidKernel/Material.h"
 #include "MantidKernel/System.h"
 #include "MantidKernel/Timer.h"
+#include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/Run.h"
 #include "MantidAPI/Sample.h"
 #include "MantidTestHelpers/ComponentCreationHelper.h"
diff --git a/Framework/Crystal/test/StatisticsOfPeaksWorkspaceTest.h b/Framework/Crystal/test/StatisticsOfPeaksWorkspaceTest.h
index e1b6b7a36fc55dbba80567e5fa6b83a39cd51a51..62516ad9472c07b69c23b3e2bf4bef5ed332113b 100644
--- a/Framework/Crystal/test/StatisticsOfPeaksWorkspaceTest.h
+++ b/Framework/Crystal/test/StatisticsOfPeaksWorkspaceTest.h
@@ -7,6 +7,7 @@
 #include "MantidGeometry/IDTypes.h"
 #include "MantidKernel/System.h"
 #include "MantidKernel/Timer.h"
+#include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/Sample.h"
 #include "MantidTestHelpers/ComponentCreationHelper.h"
 #include "MantidGeometry/Crystal/OrientedLattice.h"
diff --git a/Framework/Crystal/test/TransformHKLTest.h b/Framework/Crystal/test/TransformHKLTest.h
index b548276707c2ad210b265fe16d863362f2ed1d41..ae5227531615359ff893ffa1e926fe2214897a35 100644
--- a/Framework/Crystal/test/TransformHKLTest.h
+++ b/Framework/Crystal/test/TransformHKLTest.h
@@ -10,6 +10,7 @@
 #include "MantidGeometry/Crystal/IndexingUtils.h"
 #include "MantidGeometry/Crystal/OrientedLattice.h"
 #include "MantidCrystal/LoadIsawUB.h"
+#include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/Sample.h"
 
 using namespace Mantid;
diff --git a/Framework/CurveFitting/test/Algorithms/SplineInterpolationTest.h b/Framework/CurveFitting/test/Algorithms/SplineInterpolationTest.h
index 1718ced8660f37cfdc31e0b2d7a2de0ad041ceca..d21d9b9796beddf49192130b92f42c276372e466 100644
--- a/Framework/CurveFitting/test/Algorithms/SplineInterpolationTest.h
+++ b/Framework/CurveFitting/test/Algorithms/SplineInterpolationTest.h
@@ -7,6 +7,7 @@
 #include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidAPI/NumericAxis.h"
 #include "MantidAPI/TextAxis.h"
+#include "MantidAPI/WorkspaceGroup.h"
 
 using Mantid::CurveFitting::Algorithms::SplineInterpolation;
 using namespace Mantid::API;
diff --git a/Framework/CurveFitting/test/Algorithms/SplineSmoothingTest.h b/Framework/CurveFitting/test/Algorithms/SplineSmoothingTest.h
index fa82e66115db858040112abb75d3528cef173c78..406f1706fb12b3ab868786798542058507589281 100644
--- a/Framework/CurveFitting/test/Algorithms/SplineSmoothingTest.h
+++ b/Framework/CurveFitting/test/Algorithms/SplineSmoothingTest.h
@@ -5,6 +5,7 @@
 
 #include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidCurveFitting/Algorithms/SplineSmoothing.h"
+#include "MantidAPI/WorkspaceGroup.h"
 
 using Mantid::CurveFitting::Algorithms::SplineSmoothing;
 
diff --git a/Framework/DataHandling/test/CreateChunkingFromInstrumentTest.h b/Framework/DataHandling/test/CreateChunkingFromInstrumentTest.h
index eaa50ed4042d8a3d2e3dd0c593673be0dcda1db8..0f11d5fbac794d1ecedc67d6aba9ebb6243fce74 100644
--- a/Framework/DataHandling/test/CreateChunkingFromInstrumentTest.h
+++ b/Framework/DataHandling/test/CreateChunkingFromInstrumentTest.h
@@ -3,6 +3,7 @@
 
 #include <cxxtest/TestSuite.h>
 
+#include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/ITableWorkspace.h"
 #include "MantidDataHandling/CreateChunkingFromInstrument.h"
 
diff --git a/Framework/DataHandling/test/DetermineChunkingTest.h b/Framework/DataHandling/test/DetermineChunkingTest.h
index b15a648fa30b8751bfc4dd1e4ccfe52778001314..07e8488a6c8226b44d0cd31524cdf5b3408814df 100644
--- a/Framework/DataHandling/test/DetermineChunkingTest.h
+++ b/Framework/DataHandling/test/DetermineChunkingTest.h
@@ -7,6 +7,7 @@
 
 #include "MantidDataHandling/DetermineChunking.h"
 #include "MantidDataObjects/TableWorkspace.h"
+#include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/TableRow.h"
 
 using namespace Mantid;
diff --git a/Framework/DataHandling/test/DownloadInstrumentTest.h b/Framework/DataHandling/test/DownloadInstrumentTest.h
index 22eb88013767523dfca8d79040591ed96c020d39..45a8dec95f9d09cc7ae2d1cb8b1faeedd475a1ad 100644
--- a/Framework/DataHandling/test/DownloadInstrumentTest.h
+++ b/Framework/DataHandling/test/DownloadInstrumentTest.h
@@ -4,6 +4,7 @@
 #include <cxxtest/TestSuite.h>
 
 #include "MantidDataHandling/DownloadInstrument.h"
+#include "MantidKernel/ConfigService.h"
 
 #include <Poco/Net/HTTPResponse.h>
 #include <Poco/Glob.h>
diff --git a/Framework/DataHandling/test/LoadCanSAS1dTest.h b/Framework/DataHandling/test/LoadCanSAS1dTest.h
index 1efb62318e742a2605a76ec82c2594f8bf92da65..488e24632fefbb9252ced8cc2be08ae7ac0994eb 100644
--- a/Framework/DataHandling/test/LoadCanSAS1dTest.h
+++ b/Framework/DataHandling/test/LoadCanSAS1dTest.h
@@ -7,6 +7,7 @@
 #include "MantidDataObjects/Workspace2D.h"
 #include "MantidGeometry/Instrument.h"
 #include "MantidAPI/Run.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include <Poco/Path.h>
 
 class LoadCanSAS1dTest : public CxxTest::TestSuite {
diff --git a/Framework/DataHandling/test/LoadFITSTest.h b/Framework/DataHandling/test/LoadFITSTest.h
index 875959d9bda5fad58a43485d0c9add20ea4b4bc1..6ffcb6d49e8834f937fb75b775f1d63a160257d2 100644
--- a/Framework/DataHandling/test/LoadFITSTest.h
+++ b/Framework/DataHandling/test/LoadFITSTest.h
@@ -6,6 +6,7 @@
 #include "MantidAPI/AlgorithmManager.h"
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/Run.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidDataHandling/LoadFITS.h"
 #include <MantidAPI/FrameworkManager.h>
 
diff --git a/Framework/DataHandling/test/LoadFullprofResolutionTest.h b/Framework/DataHandling/test/LoadFullprofResolutionTest.h
index db713b08929817e8b0017a33e65c0594b1462f85..a715aa9a4a4daa48dc3f144b9c655dc77a377629 100644
--- a/Framework/DataHandling/test/LoadFullprofResolutionTest.h
+++ b/Framework/DataHandling/test/LoadFullprofResolutionTest.h
@@ -7,6 +7,7 @@
 #include "MantidDataObjects/TableWorkspace.h"
 #include "MantidAPI/TableRow.h"
 #include "MantidAPI/WorkspaceFactory.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidDataHandling/LoadInstrument.h"
 #include "MantidDataObjects/Workspace2D.h"
 #include "MantidGeometry/Instrument.h"
diff --git a/Framework/DataHandling/test/LoadGSASInstrumentFileTest.h b/Framework/DataHandling/test/LoadGSASInstrumentFileTest.h
index 40105756e0c1d97b0044090f567d1ae05619bfdd..c5a8d055689ebd328cd939262c59f86a89feec55 100644
--- a/Framework/DataHandling/test/LoadGSASInstrumentFileTest.h
+++ b/Framework/DataHandling/test/LoadGSASInstrumentFileTest.h
@@ -7,6 +7,7 @@
 #include "MantidDataObjects/TableWorkspace.h"
 #include "MantidAPI/TableRow.h"
 #include "MantidAPI/WorkspaceFactory.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidDataHandling/LoadInstrument.h"
 #include "MantidDataObjects/Workspace2D.h"
 #include "MantidGeometry/Instrument.h"
diff --git a/Framework/DataHandling/test/LoadMcStasNexusTest.h b/Framework/DataHandling/test/LoadMcStasNexusTest.h
index 27902f836b5a0edd69e3c372128e6d2a6e418582..36a36c38722887a2749355508b72829184dc8107 100644
--- a/Framework/DataHandling/test/LoadMcStasNexusTest.h
+++ b/Framework/DataHandling/test/LoadMcStasNexusTest.h
@@ -7,6 +7,7 @@
 #include "MantidAPI/FrameworkManager.h"
 #include "MantidAPI/WorkspaceFactory.h"
 #include "MantidAPI/AnalysisDataService.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidDataHandling/LoadMcStasNexus.h"
 // These includes seem to make the difference between initialization of the
 // workspace names (workspace2D/1D etc), instrument classes and not for this
diff --git a/Framework/DataHandling/test/LoadMcStasTest.h b/Framework/DataHandling/test/LoadMcStasTest.h
index e9ebc98da5d18a6c32ab5dd0c2035e5e3345e319..6d178168e198220bcc11faba60c5127097843f90 100644
--- a/Framework/DataHandling/test/LoadMcStasTest.h
+++ b/Framework/DataHandling/test/LoadMcStasTest.h
@@ -8,6 +8,7 @@
 #include "MantidAPI/FrameworkManager.h"
 #include "MantidAPI/WorkspaceFactory.h"
 #include "MantidAPI/AnalysisDataService.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidDataHandling/LoadMcStas.h"
 // These includes seem to make the difference between initialization of the
 // workspace names (workspace2D/1D etc), instrument classes and not for this
diff --git a/Framework/DataHandling/test/LoadMuonNexus1Test.h b/Framework/DataHandling/test/LoadMuonNexus1Test.h
index 4d936fb662567c06100d88efed3378dc5e7fc5b4..9428b1ec308fc6af0fe3e6c20b93c9c869537a87 100644
--- a/Framework/DataHandling/test/LoadMuonNexus1Test.h
+++ b/Framework/DataHandling/test/LoadMuonNexus1Test.h
@@ -20,6 +20,7 @@
 #include "MantidAPI/Sample.h"
 #include "MantidAPI/ScopedWorkspace.h"
 #include "MantidAPI/WorkspaceFactory.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidKernel/ConfigService.h"
 #include "MantidKernel/TimeSeriesProperty.h"
 #include "MantidKernel/Unit.h"
diff --git a/Framework/DataHandling/test/LoadNexusMonitorsTest.h b/Framework/DataHandling/test/LoadNexusMonitorsTest.h
index 80e14001c17c9cc993593bd741258641a905c1a1..954956529b291537c60f50b2ac656de6016410dd 100644
--- a/Framework/DataHandling/test/LoadNexusMonitorsTest.h
+++ b/Framework/DataHandling/test/LoadNexusMonitorsTest.h
@@ -7,6 +7,7 @@
 #include "MantidAPI/FrameworkManager.h"
 #include "MantidAPI/Run.h"
 #include "MantidAPI/Sample.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidGeometry/Instrument.h"
 #include "MantidGeometry/Instrument/Detector.h"
 #include "MantidDataObjects/EventWorkspace.h"
diff --git a/Framework/DataHandling/test/LoadNexusTest.h b/Framework/DataHandling/test/LoadNexusTest.h
index 8ca3c98b46f1bc9878e644b2b0a4fdc63af2843b..ef781f83fb4a483a09b21a6df8e2cefbebd71403 100644
--- a/Framework/DataHandling/test/LoadNexusTest.h
+++ b/Framework/DataHandling/test/LoadNexusTest.h
@@ -8,6 +8,7 @@
 #include "MantidAPI/FrameworkManager.h"
 #include "MantidAPI/WorkspaceFactory.h"
 #include "MantidAPI/AnalysisDataService.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidKernel/Unit.h"
 #include "MantidDataHandling/LoadNexus.h"
 // These includes seem to make the difference between initialization of the
diff --git a/Framework/DataHandling/test/LoadSassenaTest.h b/Framework/DataHandling/test/LoadSassenaTest.h
index 5fcdbe5eb4cad18ba4234ed3532bb53b2b1a662e..235e583c912c2526263399850920027904d49dae 100644
--- a/Framework/DataHandling/test/LoadSassenaTest.h
+++ b/Framework/DataHandling/test/LoadSassenaTest.h
@@ -4,6 +4,7 @@
 #include <cxxtest/TestSuite.h>
 #include "MantidDataHandling/LoadSassena.h"
 #include "MantidAPI/AnalysisDataService.h"
+#include "MantidAPI/WorkspaceGroup.h"
 
 using namespace Mantid;
 
diff --git a/Framework/DataHandling/test/PDLoadCharacterizationsTest.h b/Framework/DataHandling/test/PDLoadCharacterizationsTest.h
index 59a5b057acb1ed2a5ef6bffa017dbeb7506865e6..21836c82df4d6609444ecde55b183e7bea0e0633 100644
--- a/Framework/DataHandling/test/PDLoadCharacterizationsTest.h
+++ b/Framework/DataHandling/test/PDLoadCharacterizationsTest.h
@@ -4,6 +4,7 @@
 #include <boost/shared_ptr.hpp>
 #include <cxxtest/TestSuite.h>
 
+#include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/ITableWorkspace.h"
 
 #include "MantidDataHandling/PDLoadCharacterizations.h"
diff --git a/Framework/DataHandling/test/RawFileInfoTest.h b/Framework/DataHandling/test/RawFileInfoTest.h
index 4e2fc9cc16e0b4f66d95dba9f82f9a5e1ac2186f..0afcdc16157ced33ed28bd38505532737f07617d 100644
--- a/Framework/DataHandling/test/RawFileInfoTest.h
+++ b/Framework/DataHandling/test/RawFileInfoTest.h
@@ -3,6 +3,7 @@
 
 #include <cxxtest/TestSuite.h>
 #include "MantidDataHandling/RawFileInfo.h"
+#include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/ITableWorkspace.h"
 
 using namespace Mantid::DataHandling;
diff --git a/Framework/DataHandling/test/SaveCanSAS1dTest.h b/Framework/DataHandling/test/SaveCanSAS1dTest.h
index 9a97b40ca9f6989e2fd2b94521b9379c3fe756d2..5a8fe2c988e978398e14f42807a744d60e2ace9b 100644
--- a/Framework/DataHandling/test/SaveCanSAS1dTest.h
+++ b/Framework/DataHandling/test/SaveCanSAS1dTest.h
@@ -4,6 +4,7 @@
 
 #include "MantidAPI/Axis.h"
 #include "MantidAPI/Sample.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidDataHandling/LoadRaw3.h"
 #include "MantidDataHandling/SaveCanSAS1D.h"
 #include "MantidDataHandling/LoadCanSAS1D.h"
diff --git a/Framework/DataHandling/test/SaveCanSAS1dTest2.h b/Framework/DataHandling/test/SaveCanSAS1dTest2.h
index 8cb991cee58ea205c4abe9c11c36055093884ebf..cb77fe952f53a6a5e0f8ca24daf1da3046d1d1d1 100644
--- a/Framework/DataHandling/test/SaveCanSAS1dTest2.h
+++ b/Framework/DataHandling/test/SaveCanSAS1dTest2.h
@@ -3,6 +3,7 @@
 #include <cxxtest/TestSuite.h>
 
 #include "MantidAPI/Axis.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidDataHandling/LoadRaw3.h"
 #include "MantidDataHandling/SaveCanSAS1D2.h"
 #include "MantidDataHandling/LoadCanSAS1D.h"
diff --git a/Framework/DataHandling/test/SaveFocussedXYETest.h b/Framework/DataHandling/test/SaveFocussedXYETest.h
index 644263939ca1065d4df721de205f76f6da188ef5..828577a29bc0f88a808f116f7b7e2c7a6a2a2474 100644
--- a/Framework/DataHandling/test/SaveFocussedXYETest.h
+++ b/Framework/DataHandling/test/SaveFocussedXYETest.h
@@ -7,6 +7,7 @@
 
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/AlgorithmManager.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidKernel/UnitFactory.h"
 #include "MantidDataObjects/Workspace2D.h"
 #include "MantidAPI/Axis.h"
diff --git a/Framework/DataHandling/test/SaveFullprofResolutionTest.h b/Framework/DataHandling/test/SaveFullprofResolutionTest.h
index 20a011731a5a1d2c3d35f9fbe2359347c4356141..a669312e586b0f4e87687750b19875cdc85e22a4 100644
--- a/Framework/DataHandling/test/SaveFullprofResolutionTest.h
+++ b/Framework/DataHandling/test/SaveFullprofResolutionTest.h
@@ -5,6 +5,7 @@
 
 #include "MantidDataHandling/SaveFullprofResolution.h"
 #include "MantidDataObjects/TableWorkspace.h"
+#include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/TableRow.h"
 
 #include <Poco/File.h>
diff --git a/Framework/DataHandling/test/SaveGSASInstrumentFileTest.h b/Framework/DataHandling/test/SaveGSASInstrumentFileTest.h
index 26afed98e80782a8b1e2d03dd7de71be2ef794fb..7ef028aeaf2c9aac6d6f13fa3e7a55d35404b12a 100644
--- a/Framework/DataHandling/test/SaveGSASInstrumentFileTest.h
+++ b/Framework/DataHandling/test/SaveGSASInstrumentFileTest.h
@@ -5,6 +5,7 @@
 
 #include "MantidDataHandling/SaveGSASInstrumentFile.h"
 #include "MantidDataObjects/TableWorkspace.h"
+#include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/TableRow.h"
 #include "MantidAPI/FrameworkManager.h"
 
diff --git a/Framework/DataHandling/test/SaveNXTomoTest.h b/Framework/DataHandling/test/SaveNXTomoTest.h
index 94af06a174b99dfd9ce4f22eafcdaebfb003c1ce..276738175c7395a07af241d175717471a6f18d16 100644
--- a/Framework/DataHandling/test/SaveNXTomoTest.h
+++ b/Framework/DataHandling/test/SaveNXTomoTest.h
@@ -5,6 +5,7 @@
 
 #include "MantidDataHandling/SaveNXTomo.h"
 #include "MantidAPI/FrameworkManager.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include <Poco/File.h>
 
diff --git a/Framework/DataHandling/test/SavePDFGuiTest.h b/Framework/DataHandling/test/SavePDFGuiTest.h
index 5df40229c4d6f376811fd68b9900c8d0d7189283..ac70b524ca84af8acbe3b43dd67021b74798f274 100644
--- a/Framework/DataHandling/test/SavePDFGuiTest.h
+++ b/Framework/DataHandling/test/SavePDFGuiTest.h
@@ -6,6 +6,7 @@
 #include <fstream>
 
 #include "MantidAPI/AlgorithmManager.h"
+#include "MantidAPI/AnalysisDataService.h"
 #include "MantidDataHandling/SavePDFGui.h"
 #include "MantidDataHandling/LoadNexusProcessed.h"
 
diff --git a/Framework/DataHandling/test/SortTableWorkspaceTest.h b/Framework/DataHandling/test/SortTableWorkspaceTest.h
index fcacba9e05005ed3663f986ec5925b959002e3ee..0db8cee09545ad13712010fffe18c9a3e058ae12 100644
--- a/Framework/DataHandling/test/SortTableWorkspaceTest.h
+++ b/Framework/DataHandling/test/SortTableWorkspaceTest.h
@@ -4,6 +4,7 @@
 #include <cxxtest/TestSuite.h>
 
 #include "MantidDataHandling/SortTableWorkspace.h"
+#include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/WorkspaceFactory.h"
 #include "MantidAPI/ITableWorkspace.h"
 #include "MantidAPI/TableRow.h"
diff --git a/Framework/DataObjects/src/WorkspaceProperty.cpp b/Framework/DataObjects/src/WorkspaceProperty.cpp
index e7e3ef4668281cf272a813fe6a847280d0ecfb30..d41fc73723bfda83d6040ec06bea5e2ec88bdfe5 100644
--- a/Framework/DataObjects/src/WorkspaceProperty.cpp
+++ b/Framework/DataObjects/src/WorkspaceProperty.cpp
@@ -1,4 +1,11 @@
 #include "MantidDataObjects/EventWorkspace.h"
+#include "MantidDataObjects/GroupingWorkspace.h"
+#include "MantidDataObjects/MaskWorkspace.h"
+#include "MantidDataObjects/OffsetsWorkspace.h"
+#include "MantidDataObjects/PeaksWorkspace.h"
+#include "MantidDataObjects/SpecialWorkspace2D.h"
+#include "MantidDataObjects/SplittersWorkspace.h"
+#include "MantidDataObjects/TableWorkspace.h"
 #include "MantidDataObjects/Workspace2D.h"
 #include "MantidDataObjects/WorkspaceSingleValue.h"
 
@@ -10,12 +17,26 @@ namespace Mantid {
 // instantiations into API. This does not extend or modify API.
 namespace API {
 ///@cond TEMPLATE
-template class MANTID_API_DLL
+template class MANTID_DATAOBJECTS_DLL
     Mantid::API::WorkspaceProperty<Mantid::DataObjects::EventWorkspace>;
-template class MANTID_API_DLL
+template class MANTID_DATAOBJECTS_DLL
+    Mantid::API::WorkspaceProperty<Mantid::DataObjects::SpecialWorkspace2D>;
+template class MANTID_DATAOBJECTS_DLL
+    Mantid::API::WorkspaceProperty<Mantid::DataObjects::SplittersWorkspace>;
+template class MANTID_DATAOBJECTS_DLL
+    Mantid::API::WorkspaceProperty<Mantid::DataObjects::TableWorkspace>;
+template class MANTID_DATAOBJECTS_DLL
     Mantid::API::WorkspaceProperty<Mantid::DataObjects::Workspace2D>;
-template class MANTID_API_DLL
+template class MANTID_DATAOBJECTS_DLL
     Mantid::API::WorkspaceProperty<Mantid::DataObjects::WorkspaceSingleValue>;
+template class MANTID_DATAOBJECTS_DLL
+    Mantid::API::WorkspaceProperty<Mantid::DataObjects::GroupingWorkspace>;
+template class MANTID_DATAOBJECTS_DLL
+    Mantid::API::WorkspaceProperty<Mantid::DataObjects::PeaksWorkspace>;
+template class MANTID_DATAOBJECTS_DLL
+    Mantid::API::WorkspaceProperty<Mantid::DataObjects::MaskWorkspace>;
+template class MANTID_DATAOBJECTS_DLL
+    Mantid::API::WorkspaceProperty<Mantid::DataObjects::OffsetsWorkspace>;
 ///@endcond TEMPLATE
 } // namespace API
 } // namespace Mantid
diff --git a/Framework/DataObjects/test/CMakeLists.txt b/Framework/DataObjects/test/CMakeLists.txt
index 01b57ac5a341e3a713992eca98ab6e85c4761253..27e170aa037839890dd9f2975dc7b29fad4f3d4f 100644
--- a/Framework/DataObjects/test/CMakeLists.txt
+++ b/Framework/DataObjects/test/CMakeLists.txt
@@ -12,6 +12,7 @@ if ( CXXTEST_FOUND )
                         ../../TestHelpers/src/MDEventsTestHelper.cpp 
                         ../../TestHelpers/src/ScopedFileHelper.cpp
                         ../../TestHelpers/src/BoxControllerDummyIO.cpp
+                        ../../TestHelpers/src/FakeObjects.cpp
   )
 
   cxxtest_add_test ( DataObjectsTest ${TEST_FILES} )
diff --git a/Framework/DataObjects/test/TableWorkspacePropertyTest.h b/Framework/DataObjects/test/TableWorkspacePropertyTest.h
index 7cf08046d341574431b0466fb6d74438eef7f433..252b69205a936288b750792cb5e717b6b6f71868 100644
--- a/Framework/DataObjects/test/TableWorkspacePropertyTest.h
+++ b/Framework/DataObjects/test/TableWorkspacePropertyTest.h
@@ -8,6 +8,7 @@
 
 #include "MantidDataObjects/TableWorkspace.h"
 #include "MantidAPI/Algorithm.h"
+#include "MantidAPI/AnalysisDataService.h"
 #include "MantidKernel/Property.h"
 #include "MantidAPI/TableRow.h"
 #include "MantidAPI/ColumnFactory.h"
diff --git a/Framework/ICat/test/ICatTestHelper.cpp b/Framework/ICat/test/ICatTestHelper.cpp
index 199bb9d6eaf3eb5999cee4b0b8eba0e0e561ae58..5b3b18968181bb66e3940b8fb6b9e82d2f53178d 100644
--- a/Framework/ICat/test/ICatTestHelper.cpp
+++ b/Framework/ICat/test/ICatTestHelper.cpp
@@ -1,5 +1,7 @@
 #include "ICatTestHelper.h"
 
+#include <iostream>
+
 namespace ICatTestHelper {
 /// Skip all unit tests if ICat server is down
 bool skipTests() {
diff --git a/Framework/RemoteAlgorithms/test/SCARFTomoReconstructionTest.h b/Framework/RemoteAlgorithms/test/SCARFTomoReconstructionTest.h
index 45c9c9a36cf44a6ce6aaf96b49c1329e6f675f10..207592a1dcd5007785c54d3115ba14262dd0dc78 100644
--- a/Framework/RemoteAlgorithms/test/SCARFTomoReconstructionTest.h
+++ b/Framework/RemoteAlgorithms/test/SCARFTomoReconstructionTest.h
@@ -4,6 +4,7 @@
 #include <cxxtest/TestSuite.h>
 
 #include "MantidAPI/ITableWorkspace.h"
+#include "MantidKernel/ConfigService.h"
 #include "MantidKernel/FacilityInfo.h"
 #include "MantidRemoteAlgorithms/SCARFTomoReconstruction.h"
 
diff --git a/Framework/SINQ/inc/MantidSINQ/PoldiFitPeaks1D2.h b/Framework/SINQ/inc/MantidSINQ/PoldiFitPeaks1D2.h
index f8587bd7d3b894e5b24f813ed1078d5e30df9138..f9dc4155e5d1c9ba448bdf111f7c208756a17ffc 100644
--- a/Framework/SINQ/inc/MantidSINQ/PoldiFitPeaks1D2.h
+++ b/Framework/SINQ/inc/MantidSINQ/PoldiFitPeaks1D2.h
@@ -10,6 +10,7 @@
 #include "MantidDataObjects/Workspace2D.h"
 #include "MantidDataObjects/TableWorkspace.h"
 #include "MantidAPI/TableRow.h"
+#include "MantidAPI/WorkspaceGroup_fwd.h"
 
 namespace Mantid {
 namespace Poldi {
diff --git a/Framework/SINQ/test/PoldiCreatePeaksFromCellTest.h b/Framework/SINQ/test/PoldiCreatePeaksFromCellTest.h
index 9aa3471403b7ed31c895a9488a1921c9c02011b8..f63d7b76a495122e458801fc046a330ef4abb3ce 100644
--- a/Framework/SINQ/test/PoldiCreatePeaksFromCellTest.h
+++ b/Framework/SINQ/test/PoldiCreatePeaksFromCellTest.h
@@ -4,6 +4,7 @@
 #include <cxxtest/TestSuite.h>
 
 #include "MantidSINQ/PoldiCreatePeaksFromCell.h"
+#include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/ITableWorkspace.h"
 
 using Mantid::Poldi::PoldiCreatePeaksFromCell;
diff --git a/Framework/SINQ/test/PoldiIndexKnownCompoundsTest.h b/Framework/SINQ/test/PoldiIndexKnownCompoundsTest.h
index 4154e7fd2241b1bce4e200ecc29b74ebea023c7c..f9c49f15ba62d473302a5efb6112c0d73341cea1 100644
--- a/Framework/SINQ/test/PoldiIndexKnownCompoundsTest.h
+++ b/Framework/SINQ/test/PoldiIndexKnownCompoundsTest.h
@@ -5,6 +5,7 @@
 
 #include "MantidSINQ/PoldiIndexKnownCompounds.h"
 #include "MantidAPI/FrameworkManager.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidSINQ/PoldiUtilities/PoldiMockInstrumentHelpers.h"
 #include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidKernel/V3D.h"
diff --git a/Framework/WorkflowAlgorithms/test/ConvolutionFitSequentialTest.h b/Framework/WorkflowAlgorithms/test/ConvolutionFitSequentialTest.h
index 3e159495a85da72fc33366e30a8ce05328211a0e..98a519c364c9fc6b9dc58b6add538eb22e6d946e 100644
--- a/Framework/WorkflowAlgorithms/test/ConvolutionFitSequentialTest.h
+++ b/Framework/WorkflowAlgorithms/test/ConvolutionFitSequentialTest.h
@@ -6,6 +6,7 @@
 #include "MantidAPI/Axis.h"
 #include "MantidAPI/FrameworkManager.h"
 #include "MantidAPI/WorkspaceFactory.h"
+#include "MantidAPI/WorkspaceGroup.h"
 
 #include "MantidWorkflowAlgorithms/ConvolutionFitSequential.h"
 
diff --git a/MantidQt/CustomInterfaces/test/ImageROIPresenterTest.h b/MantidQt/CustomInterfaces/test/ImageROIPresenterTest.h
index e7a4db3c56b8abb409ac0067d878f343fbd5a727..852450bf411f86aef92c2a73eb93f7796aa9f4de 100644
--- a/MantidQt/CustomInterfaces/test/ImageROIPresenterTest.h
+++ b/MantidQt/CustomInterfaces/test/ImageROIPresenterTest.h
@@ -3,6 +3,7 @@
 
 #include "MantidAPI/FrameworkManager.h"
 #include "MantidAPI/MatrixWorkspace.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidQtCustomInterfaces/Tomography/ImageROIPresenter.h"
 #include "MantidTestHelpers/FakeObjects.h"
 
diff --git a/MantidQt/CustomInterfaces/test/MuonAnalysisHelperTest.h b/MantidQt/CustomInterfaces/test/MuonAnalysisHelperTest.h
index 6c7ac68b3a68eadb4221909f0b65c6b2eec3b32a..33467b73da19e4614b3bfbdf30f7d7450076b761 100644
--- a/MantidQt/CustomInterfaces/test/MuonAnalysisHelperTest.h
+++ b/MantidQt/CustomInterfaces/test/MuonAnalysisHelperTest.h
@@ -11,6 +11,7 @@
 #include "MantidAPI/ScopedWorkspace.h"
 #include "MantidAPI/TableRow.h"
 #include "MantidAPI/WorkspaceFactory.h"
+#include "MantidAPI/WorkspaceGroup.h"
 #include "MantidGeometry/Instrument.h"
 #include "MantidKernel/TimeSeriesProperty.h"
 #include "MantidTestHelpers/WorkspaceCreationHelper.h"
diff --git a/MantidQt/MantidWidgets/test/DataProcessorUI/DataProcessorGenerateNotebookTest.h b/MantidQt/MantidWidgets/test/DataProcessorUI/DataProcessorGenerateNotebookTest.h
index b3c7f4b3ec37c10b448fa69d4bdd1124411b9c9b..41afe3de9609f49771773e7507417bc3975c4d97 100644
--- a/MantidQt/MantidWidgets/test/DataProcessorUI/DataProcessorGenerateNotebookTest.h
+++ b/MantidQt/MantidWidgets/test/DataProcessorUI/DataProcessorGenerateNotebookTest.h
@@ -5,6 +5,9 @@
 #include <gmock/gmock.h>
 #include <gtest/gtest.h>
 
+#include <boost/algorithm/string/join.hpp>
+#include <boost/algorithm/string/split.hpp>
+
 #include "MantidAPI/FrameworkManager.h"
 #include "MantidQtMantidWidgets/DataProcessorUI/DataProcessorGenerateNotebook.h"
 #include "MantidQtMantidWidgets/DataProcessorUI/DataProcessorVectorString.h"