diff --git a/Code/Mantid/Framework/API/inc/MantidAPI/CatalogManager.h b/Code/Mantid/Framework/API/inc/MantidAPI/CatalogManager.h
index 15a44960643bb96f3ca75c16b76c8df2296ccd36..a1ac26bb5e1f0b0489908177c3266b33932cfd62 100644
--- a/Code/Mantid/Framework/API/inc/MantidAPI/CatalogManager.h
+++ b/Code/Mantid/Framework/API/inc/MantidAPI/CatalogManager.h
@@ -4,6 +4,9 @@
 #include "MantidKernel/SingletonHolder.h"
 #include "MantidAPI/ICatalog.h"
 
+#include <map>
+#include <string>
+
 namespace Mantid {
 namespace API {
 /**
diff --git a/Code/Mantid/Framework/API/inc/MantidAPI/CompositeCatalog.h b/Code/Mantid/Framework/API/inc/MantidAPI/CompositeCatalog.h
index 7b52e9dea43d105d6ea351afadc6415cb2a25e4d..97f99fcb48950a065653508000876b85fa495868 100644
--- a/Code/Mantid/Framework/API/inc/MantidAPI/CompositeCatalog.h
+++ b/Code/Mantid/Framework/API/inc/MantidAPI/CompositeCatalog.h
@@ -3,6 +3,9 @@
 
 #include "MantidAPI/ICatalog.h"
 
+#include <list>
+#include <set>
+
 namespace Mantid {
 namespace API {
 /**
diff --git a/Code/Mantid/Framework/API/inc/MantidAPI/DataProcessorAlgorithm.h b/Code/Mantid/Framework/API/inc/MantidAPI/DataProcessorAlgorithm.h
index 2c907a9778c89c19d32b814c0908ac7e155c99ef..c1a4616cb5141e20cd7d3de5d3105adad38d6f9a 100644
--- a/Code/Mantid/Framework/API/inc/MantidAPI/DataProcessorAlgorithm.h
+++ b/Code/Mantid/Framework/API/inc/MantidAPI/DataProcessorAlgorithm.h
@@ -4,7 +4,7 @@
 #include "MantidKernel/System.h"
 #include "MantidAPI/Algorithm.h"
 #include "MantidAPI/AlgorithmManager.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 #include "MantidAPI/IEventWorkspace_fwd.h"
 #include "MantidKernel/PropertyManager.h"
 #include <vector>
diff --git a/Code/Mantid/Framework/API/inc/MantidAPI/ICatalog.h b/Code/Mantid/Framework/API/inc/MantidAPI/ICatalog.h
index 3e83bb82531d9d0047958962f45e33240f1350cf..822f14b51af4b9e9678bc8214c4a6355140c7b87 100644
--- a/Code/Mantid/Framework/API/inc/MantidAPI/ICatalog.h
+++ b/Code/Mantid/Framework/API/inc/MantidAPI/ICatalog.h
@@ -1,7 +1,7 @@
 #ifndef MANTID_API_ICATLOG_H_
 #define MANTID_API_ICATLOG_H_
 
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 #include "MantidAPI/CatalogSession.h"
 
 namespace Mantid {
diff --git a/Code/Mantid/Framework/API/inc/MantidAPI/IMDEventWorkspace.h b/Code/Mantid/Framework/API/inc/MantidAPI/IMDEventWorkspace.h
index 994d5c9a0c767d8453353da5f4dcc05e0ea14744..0073ca6ecd2e2e9824dc39635de0535227b728b0 100644
--- a/Code/Mantid/Framework/API/inc/MantidAPI/IMDEventWorkspace.h
+++ b/Code/Mantid/Framework/API/inc/MantidAPI/IMDEventWorkspace.h
@@ -6,7 +6,7 @@
 #include "MantidAPI/ExperimentInfo.h"
 #include "MantidAPI/IMDEventWorkspace_fwd.h"
 #include "MantidAPI/IMDWorkspace.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 #include "MantidAPI/MultipleExperimentInfos.h"
 #include "MantidAPI/Workspace.h"
 #include "MantidAPI/IMDNode.h"
diff --git a/Code/Mantid/Framework/API/inc/MantidAPI/IMDWorkspace.h b/Code/Mantid/Framework/API/inc/MantidAPI/IMDWorkspace.h
index 664b55423a3c632adf1c1d4a2814d48095d01557..e2ecd9b999cbd82243ecce857a4511cf7fb3d1fc 100644
--- a/Code/Mantid/Framework/API/inc/MantidAPI/IMDWorkspace.h
+++ b/Code/Mantid/Framework/API/inc/MantidAPI/IMDWorkspace.h
@@ -13,7 +13,7 @@
 #include "MantidGeometry/MDGeometry/MDImplicitFunction.h"
 #include "MantidAPI/IMDWorkspace.h"
 #include "MantidKernel/SpecialCoordinateSystem.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 
 namespace Mantid {
 
diff --git a/Code/Mantid/Framework/API/inc/MantidAPI/IPeaksWorkspace.h b/Code/Mantid/Framework/API/inc/MantidAPI/IPeaksWorkspace.h
index 7ccf62e5264941d08bb572f8acdc2d26e7065a5f..05923f806484dd1c39cb7739eab32868dddd4e89 100644
--- a/Code/Mantid/Framework/API/inc/MantidAPI/IPeaksWorkspace.h
+++ b/Code/Mantid/Framework/API/inc/MantidAPI/IPeaksWorkspace.h
@@ -4,9 +4,9 @@
 //----------------------------------------------------------------------
 // Includes
 //----------------------------------------------------------------------
-#include "MantidAPI/ITableWorkspace.h"
 #include "MantidAPI/ExperimentInfo.h"
 #include "MantidAPI/IPeaksWorkspace_fwd.h"
+#include "MantidAPI/ITableWorkspace.h"
 #include "MantidKernel/SpecialCoordinateSystem.h"
 #include <boost/optional.hpp>
 
diff --git a/Code/Mantid/Framework/API/inc/MantidAPI/Projection.h b/Code/Mantid/Framework/API/inc/MantidAPI/Projection.h
index 0a5f5c3eaf339b2ff068f7ea24b3ad6cf315c3cd..08dfa8da8bf8289dd442d8dbbfc3c7baf06b503f 100644
--- a/Code/Mantid/Framework/API/inc/MantidAPI/Projection.h
+++ b/Code/Mantid/Framework/API/inc/MantidAPI/Projection.h
@@ -1,7 +1,7 @@
 #ifndef MANTID_API_PROJECTION_H_
 #define MANTID_API_PROJECTION_H_
 
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 #include "MantidKernel/V3D.h"
 
 #include <stdexcept>
diff --git a/Code/Mantid/Framework/API/src/CatalogManager.cpp b/Code/Mantid/Framework/API/src/CatalogManager.cpp
index 51f340bd214c4a4d7bd815ecf0278e8f569f6f87..06123f0fdea8e716b9602d0e99b4024c7e594152 100644
--- a/Code/Mantid/Framework/API/src/CatalogManager.cpp
+++ b/Code/Mantid/Framework/API/src/CatalogManager.cpp
@@ -4,6 +4,9 @@
 #include "MantidKernel/ConfigService.h"
 #include "MantidKernel/FacilityInfo.h"
 
+#include <boost/make_shared.hpp>
+#include <map>
+
 namespace Mantid {
 namespace API {
 CatalogManagerImpl::CatalogManagerImpl() : m_activeCatalogs() {}
diff --git a/Code/Mantid/Framework/API/src/DataProcessorAlgorithm.cpp b/Code/Mantid/Framework/API/src/DataProcessorAlgorithm.cpp
index bf57428a994d6d0f903192d2bc4fa1c3a4822c41..609fdab0f6a54b46874c28f68f41a6608f7c826d 100644
--- a/Code/Mantid/Framework/API/src/DataProcessorAlgorithm.cpp
+++ b/Code/Mantid/Framework/API/src/DataProcessorAlgorithm.cpp
@@ -2,6 +2,7 @@
 #include "MantidAPI/AlgorithmProperty.h"
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/IEventWorkspace.h"
+#include "MantidAPI/ITableWorkspace.h"
 #include "MantidKernel/System.h"
 #include "MantidAPI/FileFinder.h"
 #include "MantidAPI/AlgorithmManager.h"
diff --git a/Code/Mantid/Framework/API/src/Projection.cpp b/Code/Mantid/Framework/API/src/Projection.cpp
index 18404dc713a53424e2c2654ac45f3441bc94986f..fa4d4ed8e1c4c960a3df5ef4fcb329980d8104e4 100644
--- a/Code/Mantid/Framework/API/src/Projection.cpp
+++ b/Code/Mantid/Framework/API/src/Projection.cpp
@@ -1,4 +1,5 @@
 #include "MantidAPI/Projection.h"
+#include "MantidAPI/ITableWorkspace.h"
 
 namespace Mantid {
 namespace API {
diff --git a/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/FilterEvents.h b/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/FilterEvents.h
index 1814d010af51cc72cb3f92b5bbb8f9a8cc127268..edc4acff66beecb8a1a24a642e2f682b30f41714 100644
--- a/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/FilterEvents.h
+++ b/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/FilterEvents.h
@@ -8,7 +8,7 @@
 #include "MantidDataObjects/TableWorkspace.h"
 #include "MantidAPI/ISplittersWorkspace.h"
 #include "MantidKernel/TimeSplitter.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 #include "MantidKernel/TimeSeriesProperty.h"
 
 namespace Mantid {
diff --git a/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/GenerateEventsFilter.h b/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/GenerateEventsFilter.h
index d057fec05be9638925ed6cee10594416d4fccae8..a29c7ff41ee44ca193466d23fd47cb1ca912863d 100644
--- a/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/GenerateEventsFilter.h
+++ b/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/GenerateEventsFilter.h
@@ -7,7 +7,7 @@
 #include "MantidKernel/TimeSeriesProperty.h"
 #include "MantidDataObjects/SplittersWorkspace.h"
 #include "MantidAPI/ISplittersWorkspace.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 
 namespace Mantid {
 namespace Algorithms {
diff --git a/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/SaveGSASInstrumentFile.h b/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/SaveGSASInstrumentFile.h
index 2d8ce483a27a4fb235459b6d4685e61c5fe99649..1a0b8b8e908eff0085d98ba58c6a420bfa3e4d74 100644
--- a/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/SaveGSASInstrumentFile.h
+++ b/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/SaveGSASInstrumentFile.h
@@ -3,7 +3,7 @@
 
 #include "MantidKernel/System.h"
 #include "MantidAPI/Algorithm.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 #include "MantidDataObjects/TableWorkspace.h"
 
 namespace Mantid {
diff --git a/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/StripPeaks.h b/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/StripPeaks.h
index 10a6c8fe4b713a9ca9b1b12bc248912cc359a63c..eacde19b9542a61b6f2249e75172e064dd79f52a 100644
--- a/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/StripPeaks.h
+++ b/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/StripPeaks.h
@@ -5,7 +5,7 @@
 // Includes
 //----------------------------------------------------------------------
 #include "MantidAPI/Algorithm.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 
 namespace Mantid {
 namespace Algorithms {
diff --git a/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/StripVanadiumPeaks.h b/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/StripVanadiumPeaks.h
index 7f8823177dd14426d89efa0ff10ea96d5bc7d547..262bf33ee52797963c5859faa40555aa7c1c4769 100644
--- a/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/StripVanadiumPeaks.h
+++ b/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/StripVanadiumPeaks.h
@@ -12,7 +12,7 @@
 // Includes
 //----------------------------------------------------------------------
 #include "MantidAPI/Algorithm.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 
 namespace Mantid {
 namespace Algorithms {
diff --git a/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/SumEventsByLogValue.h b/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/SumEventsByLogValue.h
index d418be1f2ce9b8ddf71295aeb8c15ed5d388cca5..4af2579b1338209b9ca29c5aaed686e49f733284 100644
--- a/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/SumEventsByLogValue.h
+++ b/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/SumEventsByLogValue.h
@@ -7,7 +7,7 @@
 #include "MantidAPI/Algorithm.h"
 #include "MantidKernel/TimeSeriesProperty.h"
 #include "MantidDataObjects/EventWorkspace.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 
 namespace Mantid {
 namespace Algorithms {
diff --git a/Code/Mantid/Framework/Algorithms/src/PhaseQuadMuon.cpp b/Code/Mantid/Framework/Algorithms/src/PhaseQuadMuon.cpp
index d59adfc4b3cfa03f485c2dd3e8eb6d1f460eef37..7095d78ca47134876a66f57157d133de3adcd8a4 100644
--- a/Code/Mantid/Framework/Algorithms/src/PhaseQuadMuon.cpp
+++ b/Code/Mantid/Framework/Algorithms/src/PhaseQuadMuon.cpp
@@ -4,6 +4,7 @@
 #include "MantidAlgorithms/PhaseQuadMuon.h"
 #include "MantidAPI/FileProperty.h"
 #include "MantidAPI/IFileLoader.h"
+#include "MantidAPI/ITableWorkspace.h"
 #include "MantidAPI/TableRow.h"
 #include "MantidAPI/FrameworkManager.h"
 
@@ -468,4 +469,4 @@ void PhaseQuadMuon::regainExponential(API::MatrixWorkspace_sptr outputWs) {
   }
 }
 }
-}
\ No newline at end of file
+}
diff --git a/Code/Mantid/Framework/Algorithms/src/StripPeaks.cpp b/Code/Mantid/Framework/Algorithms/src/StripPeaks.cpp
index 884d0aac8216db330f551651536bcd22542e0c45..9eb048765843bda13bcd36ead72e5578630f7b0f 100644
--- a/Code/Mantid/Framework/Algorithms/src/StripPeaks.cpp
+++ b/Code/Mantid/Framework/Algorithms/src/StripPeaks.cpp
@@ -1,6 +1,7 @@
 #include "MantidAlgorithms/StripPeaks.h"
 #include "MantidKernel/ArrayProperty.h"
 #include "MantidKernel/PhysicalConstants.h"
+#include "MantidAPI/ITableWorkspace.h"
 #include "MantidAPI/TableRow.h"
 #include "MantidKernel/BoundedValidator.h"
 #include "MantidKernel/ListValidator.h"
diff --git a/Code/Mantid/Framework/Crystal/inc/MantidCrystal/IntegratePeakTimeSlices.h b/Code/Mantid/Framework/Crystal/inc/MantidCrystal/IntegratePeakTimeSlices.h
index 72b587a4221d6d5771e70872eb94257bc8ef51f0..8c2f5eb4d817131078475f58879528eeea754a96 100644
--- a/Code/Mantid/Framework/Crystal/inc/MantidCrystal/IntegratePeakTimeSlices.h
+++ b/Code/Mantid/Framework/Crystal/inc/MantidCrystal/IntegratePeakTimeSlices.h
@@ -10,7 +10,7 @@
 #include "MantidAPI/Algorithm.h"
 #include "MantidGeometry/Crystal/IPeak.h"
 #include "MantidDataObjects/TableWorkspace.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 #include "MantidAPI/MatrixWorkspace.h"
 #include "MantidDataObjects/PeaksWorkspace.h"
 #include "MantidAPI/MatrixWorkspace.h"
diff --git a/Code/Mantid/Framework/CurveFitting/inc/MantidCurveFitting/FitPowderDiffPeaks.h b/Code/Mantid/Framework/CurveFitting/inc/MantidCurveFitting/FitPowderDiffPeaks.h
index 2c5ba80bb03b160cf863e2773ef90f56e7a2e2c1..6627e04f3c110c4a94c6145108a48ac6d1b7ebbb 100644
--- a/Code/Mantid/Framework/CurveFitting/inc/MantidCurveFitting/FitPowderDiffPeaks.h
+++ b/Code/Mantid/Framework/CurveFitting/inc/MantidCurveFitting/FitPowderDiffPeaks.h
@@ -5,7 +5,7 @@
 #include "MantidAPI/Algorithm.h"
 #include "MantidAPI/MatrixWorkspace.h"
 #include "MantidAPI/CompositeFunction.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 #include "MantidDataObjects/TableWorkspace.h"
 #include "MantidDataObjects/Workspace2D.h"
 #include "MantidCurveFitting/BackgroundFunction.h"
diff --git a/Code/Mantid/Framework/CurveFitting/inc/MantidCurveFitting/LeBailFit.h b/Code/Mantid/Framework/CurveFitting/inc/MantidCurveFitting/LeBailFit.h
index 6080044f484a343cbb201dbec5fc8c8210ca12d5..033c0f0185f9076fd63b92e7b8c34cff20beea8b 100644
--- a/Code/Mantid/Framework/CurveFitting/inc/MantidCurveFitting/LeBailFit.h
+++ b/Code/Mantid/Framework/CurveFitting/inc/MantidCurveFitting/LeBailFit.h
@@ -10,7 +10,7 @@
 #include "MantidCurveFitting/ThermalNeutronBk2BkExpConvPVoigt.h"
 #include "MantidAPI/CompositeFunction.h"
 #include "MantidCurveFitting/BackgroundFunction.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 #include "MantidAPI/IFunction.h"
 #include <gsl/gsl_sf_erf.h>
 
diff --git a/Code/Mantid/Framework/CurveFitting/inc/MantidCurveFitting/PawleyFit.h b/Code/Mantid/Framework/CurveFitting/inc/MantidCurveFitting/PawleyFit.h
index 455df893d86d5afafc4a473e538a13125d3b0cff..c1c78b1044cd34e7e7a24c9d3277b1ae0b9098ba 100644
--- a/Code/Mantid/Framework/CurveFitting/inc/MantidCurveFitting/PawleyFit.h
+++ b/Code/Mantid/Framework/CurveFitting/inc/MantidCurveFitting/PawleyFit.h
@@ -3,6 +3,8 @@
 
 #include "MantidKernel/System.h"
 #include "MantidAPI/Algorithm.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
+#include "MantidAPI/TableRow.h"
 #include "MantidCurveFitting/PawleyFunction.h"
 #include "MantidKernel/Unit.h"
 
diff --git a/Code/Mantid/Framework/CurveFitting/inc/MantidCurveFitting/RefinePowderInstrumentParameters.h b/Code/Mantid/Framework/CurveFitting/inc/MantidCurveFitting/RefinePowderInstrumentParameters.h
index 95b443f7076547586a72d1d70e34e8e4d18a2d59..27851919728a50f565491d5f945e4ec95b48d91f 100644
--- a/Code/Mantid/Framework/CurveFitting/inc/MantidCurveFitting/RefinePowderInstrumentParameters.h
+++ b/Code/Mantid/Framework/CurveFitting/inc/MantidCurveFitting/RefinePowderInstrumentParameters.h
@@ -5,7 +5,7 @@
 #include "MantidAPI/Algorithm.h"
 #include "MantidAPI/MatrixWorkspace.h"
 #include "MantidAPI/CompositeFunction.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 #include "MantidDataObjects/TableWorkspace.h"
 #include "MantidDataObjects/Workspace2D.h"
 #include "MantidCurveFitting/BackgroundFunction.h"
diff --git a/Code/Mantid/Framework/CurveFitting/src/Fit.cpp b/Code/Mantid/Framework/CurveFitting/src/Fit.cpp
index ef17850bcb2a655237bbac74c686a5d21ef5dd68..2704d91eb92e92bcd08fe8b97f0177f7766f67d8 100644
--- a/Code/Mantid/Framework/CurveFitting/src/Fit.cpp
+++ b/Code/Mantid/Framework/CurveFitting/src/Fit.cpp
@@ -8,6 +8,7 @@
 #include "MantidAPI/FuncMinimizerFactory.h"
 #include "MantidAPI/FunctionValues.h"
 #include "MantidAPI/IFuncMinimizer.h"
+#include "MantidAPI/ITableWorkspace.h"
 #include "MantidAPI/MatrixWorkspace.h"
 #include "MantidAPI/TableRow.h"
 #include "MantidAPI/WorkspaceFactory.h"
diff --git a/Code/Mantid/Framework/CurveFitting/src/PawleyFit.cpp b/Code/Mantid/Framework/CurveFitting/src/PawleyFit.cpp
index e3291e7fb7182c029c049022884139f11368690d..acda22c66f4fbcb2359e632e874399a6db81e669 100644
--- a/Code/Mantid/Framework/CurveFitting/src/PawleyFit.cpp
+++ b/Code/Mantid/Framework/CurveFitting/src/PawleyFit.cpp
@@ -2,6 +2,7 @@
 
 #include "MantidAPI/FunctionFactory.h"
 #include "MantidCurveFitting/PawleyFunction.h"
+#include "MantidAPI/ITableWorkspace.h"
 #include "MantidAPI/TableRow.h"
 
 #include "MantidGeometry/Crystal/UnitCell.h"
diff --git a/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/LoadNexusProcessed.h b/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/LoadNexusProcessed.h
index 076d62d044f89941819089354bd2dd064ea1b1d2..f296e5cbb9ff8eec53f44d3ef949c8e799651a5c 100644
--- a/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/LoadNexusProcessed.h
+++ b/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/LoadNexusProcessed.h
@@ -5,7 +5,7 @@
 // Includes
 //----------------------------------------------------------------------
 #include "MantidAPI/IFileLoader.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 #include "MantidAPI/MatrixWorkspace.h"
 
 #include "MantidNexus/NexusClasses.h"
diff --git a/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/LoadSavuTomoConfig.h b/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/LoadSavuTomoConfig.h
index 469369ff4d4d46e25e13ade2e34243d0ca305468..7fea846b651a8e4e9a66617c2a634090180b1c78 100644
--- a/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/LoadSavuTomoConfig.h
+++ b/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/LoadSavuTomoConfig.h
@@ -2,7 +2,7 @@
 #define MANTID_DATAHANDLING_LOADSAVUTOMOCONFIG_H_
 
 #include "MantidAPI/Algorithm.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 
 namespace NeXus {
   class File;
diff --git a/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/LoadSpiceAscii.h b/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/LoadSpiceAscii.h
index 5894c962bdee659c412a7da5dae569995cee21dd..916ab7dac6b1772697db65572e1b88446a99ea50 100644
--- a/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/LoadSpiceAscii.h
+++ b/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/LoadSpiceAscii.h
@@ -3,7 +3,7 @@
 
 #include "MantidKernel/System.h"
 #include "MantidAPI/Algorithm.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 
 #include "MantidAPI/IFileLoader.h"
 
diff --git a/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/LoadSpiceXML2DDet.h b/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/LoadSpiceXML2DDet.h
index 418c5a41954a6ad2e56d101db90b7e806b1b963c..96ff7e8168c6acff0255a112c91d993f4fea6230 100644
--- a/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/LoadSpiceXML2DDet.h
+++ b/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/LoadSpiceXML2DDet.h
@@ -4,7 +4,7 @@
 #include "MantidKernel/System.h"
 #include "MantidAPI/Algorithm.h"
 #include "MantidAPI/MatrixWorkspace.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 
 namespace Mantid {
 namespace DataHandling {
diff --git a/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/SaveReflTBL.h b/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/SaveReflTBL.h
index fd83a040024b8c01698767f57882894c090d7471..34dd307385909b947c7ddf8e71e43de02550a911 100644
--- a/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/SaveReflTBL.h
+++ b/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/SaveReflTBL.h
@@ -5,7 +5,7 @@
 // Includes
 //----------------------------------------------------------------------
 #include "MantidAPI/Algorithm.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 
 namespace Mantid {
 namespace DataHandling {
diff --git a/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/SaveSavuTomoConfig.h b/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/SaveSavuTomoConfig.h
index 20de386f2250745c6d138799b9b8d26c32f75691..668e1a0e5f2f3644e09a124e1593f81fddb19481 100644
--- a/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/SaveSavuTomoConfig.h
+++ b/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/SaveSavuTomoConfig.h
@@ -5,7 +5,7 @@
 // Includes
 //---------------------------------------------------
 #include "MantidAPI/Algorithm.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 
 namespace Mantid {
 namespace DataHandling {
diff --git a/Code/Mantid/Framework/DataHandling/src/CreateChunkingFromInstrument.cpp b/Code/Mantid/Framework/DataHandling/src/CreateChunkingFromInstrument.cpp
index 49ef716f071d41ff1d2f6e2e7f59f2814cfb4634..f026d23dedb34055f4434bc2c8cfe8001a208566 100644
--- a/Code/Mantid/Framework/DataHandling/src/CreateChunkingFromInstrument.cpp
+++ b/Code/Mantid/Framework/DataHandling/src/CreateChunkingFromInstrument.cpp
@@ -1,5 +1,6 @@
 #include "MantidAPI/FileProperty.h"
 #include "MantidAPI/MatrixWorkspace.h"
+#include "MantidAPI/ITableWorkspace.h"
 #include "MantidAPI/TableRow.h"
 #include "MantidDataHandling/CreateChunkingFromInstrument.h"
 #include "MantidDataObjects/Workspace2D.h"
diff --git a/Code/Mantid/Framework/DataHandling/src/Load.cpp b/Code/Mantid/Framework/DataHandling/src/Load.cpp
index cc23bd0ae14bec92e59e082e6d165985802265c9..5eb84e66ba570152a4a122508fe1a358aaef3986 100644
--- a/Code/Mantid/Framework/DataHandling/src/Load.cpp
+++ b/Code/Mantid/Framework/DataHandling/src/Load.cpp
@@ -7,6 +7,7 @@
 #include "MantidAPI/FrameworkManager.h"
 #include "MantidAPI/IEventWorkspace.h"
 #include "MantidAPI/IMDEventWorkspace.h"
+#include "MantidAPI/ITableWorkspace.h"
 #include "MantidAPI/IWorkspaceProperty.h"
 #include "MantidAPI/MultipleFileProperty.h"
 #include "MantidKernel/ArrayProperty.h"
diff --git a/Code/Mantid/Framework/DataHandling/src/LoadCalFile.cpp b/Code/Mantid/Framework/DataHandling/src/LoadCalFile.cpp
index 86b76d5896377b36569e2a01bab0d9399025625b..ec0f5a0511e65f1d5c82d6c322751150088f706d 100644
--- a/Code/Mantid/Framework/DataHandling/src/LoadCalFile.cpp
+++ b/Code/Mantid/Framework/DataHandling/src/LoadCalFile.cpp
@@ -1,6 +1,7 @@
 #include "MantidAPI/Algorithm.h"
 #include "MantidAPI/FileProperty.h"
 #include "MantidAPI/MatrixWorkspace.h"
+#include "MantidAPI/ITableWorkspace.h"
 #include "MantidDataHandling/LoadCalFile.h"
 #include "MantidDataObjects/GroupingWorkspace.h"
 #include "MantidDataObjects/MaskWorkspace.h"
diff --git a/Code/Mantid/Framework/DataHandling/src/LoadSpiceXML2DDet.cpp b/Code/Mantid/Framework/DataHandling/src/LoadSpiceXML2DDet.cpp
index 40c1e500b241773b14d0b4c1eacfa600dc5ea63e..82ea8ddd4afbef9ce316a170013b32c4cb61fede 100644
--- a/Code/Mantid/Framework/DataHandling/src/LoadSpiceXML2DDet.cpp
+++ b/Code/Mantid/Framework/DataHandling/src/LoadSpiceXML2DDet.cpp
@@ -3,6 +3,7 @@
 
 #include "MantidDataHandling/LoadSpiceXML2DDet.h"
 #include "MantidAPI/FileProperty.h"
+#include "MantidAPI/ITableWorkspace.h"
 #include "MantidAPI/WorkspaceProperty.h"
 #include "MantidAPI/WorkspaceFactory.h"
 #include "MantidKernel/ArrayProperty.h"
diff --git a/Code/Mantid/Framework/DataHandling/src/PDLoadCharacterizations.cpp b/Code/Mantid/Framework/DataHandling/src/PDLoadCharacterizations.cpp
index 34b98ec08a15d88aba364ceb50b426f5ee4d9796..db8c43acf122c1874cefa04a3d6e8fcd06f8a320 100644
--- a/Code/Mantid/Framework/DataHandling/src/PDLoadCharacterizations.cpp
+++ b/Code/Mantid/Framework/DataHandling/src/PDLoadCharacterizations.cpp
@@ -1,5 +1,6 @@
 #include "MantidDataHandling/PDLoadCharacterizations.h"
 #include "MantidAPI/FileProperty.h"
+#include "MantidAPI/ITableWorkspace.h"
 #include "MantidAPI/TableRow.h"
 #include "MantidAPI/WorkspaceFactory.h"
 #include "MantidKernel/ArrayProperty.h"
diff --git a/Code/Mantid/Framework/DataHandling/src/SaveSavuTomoConfig.cpp b/Code/Mantid/Framework/DataHandling/src/SaveSavuTomoConfig.cpp
index a40405806af5b49620077b47c0a9ac42999408af..c9b744888f1b7c029bac1cde36c7cb80ee951212 100644
--- a/Code/Mantid/Framework/DataHandling/src/SaveSavuTomoConfig.cpp
+++ b/Code/Mantid/Framework/DataHandling/src/SaveSavuTomoConfig.cpp
@@ -1,4 +1,5 @@
 #include "MantidAPI/FileProperty.h"
+#include "MantidAPI/ITableWorkspace.h"
 #include "MantidDataHandling/SaveSavuTomoConfig.h"
 #include "MantidKernel/ArrayProperty.h"
 #include "MantidKernel/MandatoryValidator.h"
diff --git a/Code/Mantid/Framework/DataObjects/inc/MantidDataObjects/MDEventWorkspace.h b/Code/Mantid/Framework/DataObjects/inc/MantidDataObjects/MDEventWorkspace.h
index 7aa12bd47f0dcda39112e843c59c6e928fb3cd80..06b4fba138646976999aec9ee93402484db33388 100644
--- a/Code/Mantid/Framework/DataObjects/inc/MantidDataObjects/MDEventWorkspace.h
+++ b/Code/Mantid/Framework/DataObjects/inc/MantidDataObjects/MDEventWorkspace.h
@@ -11,7 +11,7 @@
 #include "MantidDataObjects/MDLeanEvent.h"
 #include "MantidDataObjects/MDGridBox.h"
 #include "MantidDataObjects/MDHistoWorkspace.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 #include "MantidAPI/IMDIterator.h"
 
 namespace Mantid {
diff --git a/Code/Mantid/Framework/DataObjects/inc/MantidDataObjects/TableWorkspace.h b/Code/Mantid/Framework/DataObjects/inc/MantidDataObjects/TableWorkspace.h
index 534f26632bee7ee95b51b2035992643c015e63c4..a1f9a90061bcc195c6ea6ca18eb4a755bfdff9ed 100644
--- a/Code/Mantid/Framework/DataObjects/inc/MantidDataObjects/TableWorkspace.h
+++ b/Code/Mantid/Framework/DataObjects/inc/MantidDataObjects/TableWorkspace.h
@@ -8,6 +8,7 @@
 #include "MantidDataObjects/DllConfig.h"
 #include "MantidDataObjects/TableColumn.h"
 #include "MantidKernel/PropertyManager.h"
+#include "MantidKernel/V3D.h"
 #include "MantidAPI/ITableWorkspace.h"
 #include <boost/shared_ptr.hpp>
 #include <boost/tuple/tuple.hpp>
diff --git a/Code/Mantid/Framework/DataObjects/src/MementoTableWorkspace.cpp b/Code/Mantid/Framework/DataObjects/src/MementoTableWorkspace.cpp
index 27f1382d0efe50c8adb060eba7fb2112bf32b081..90a863de1d0ce55d9c3ec81356691968bedb945d 100644
--- a/Code/Mantid/Framework/DataObjects/src/MementoTableWorkspace.cpp
+++ b/Code/Mantid/Framework/DataObjects/src/MementoTableWorkspace.cpp
@@ -1,6 +1,7 @@
 #include "MantidDataObjects/MementoTableWorkspace.h"
 
 #include "MantidKernel/Logger.h"
+#include "MantidAPI/ITableWorkspace.h"
 #include "MantidAPI/WorkspaceFactory.h"
 
 namespace Mantid {
diff --git a/Code/Mantid/Framework/ICat/inc/MantidICat/CatalogGetDataFiles.h b/Code/Mantid/Framework/ICat/inc/MantidICat/CatalogGetDataFiles.h
index 500d03578921beaff68b59ae83619e6d6837a1ae..8fc4d484ba2c1f1107af0354ed4b51a5cc2ef189 100644
--- a/Code/Mantid/Framework/ICat/inc/MantidICat/CatalogGetDataFiles.h
+++ b/Code/Mantid/Framework/ICat/inc/MantidICat/CatalogGetDataFiles.h
@@ -2,7 +2,7 @@
 #define MANTID_ICAT_CATALOGGETDATAFILES_H_
 
 #include "MantidAPI/Algorithm.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 #include "MantidICat/DllConfig.h"
 
 namespace Mantid {
diff --git a/Code/Mantid/Framework/ICat/inc/MantidICat/CatalogGetDataSets.h b/Code/Mantid/Framework/ICat/inc/MantidICat/CatalogGetDataSets.h
index 96432a64f098d38e4651f9f34ba8e1bb9b37958a..081591d0a8877dd27e754edfe3c40039c6725461 100644
--- a/Code/Mantid/Framework/ICat/inc/MantidICat/CatalogGetDataSets.h
+++ b/Code/Mantid/Framework/ICat/inc/MantidICat/CatalogGetDataSets.h
@@ -2,7 +2,7 @@
 #define MANTID_ICAT_CATALOGGETDATASETS_H_
 
 #include "MantidAPI/Algorithm.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 #include "MantidICat/DllConfig.h"
 
 namespace Mantid {
diff --git a/Code/Mantid/Framework/ICat/inc/MantidICat/CatalogListInstruments.h b/Code/Mantid/Framework/ICat/inc/MantidICat/CatalogListInstruments.h
index 295812a8652dcbb7951348fef95fc9d7134874c7..e6ca4d1a376389e8bdd1d5dac8263f3418cea58a 100644
--- a/Code/Mantid/Framework/ICat/inc/MantidICat/CatalogListInstruments.h
+++ b/Code/Mantid/Framework/ICat/inc/MantidICat/CatalogListInstruments.h
@@ -2,7 +2,7 @@
 #define MANTID_ICAT_CATALOGLISTINSTRUMENTS_H_
 
 #include "MantidAPI/Algorithm.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 #include "MantidICat/DllConfig.h"
 
 namespace Mantid {
diff --git a/Code/Mantid/Framework/ICat/inc/MantidICat/CatalogMyDataSearch.h b/Code/Mantid/Framework/ICat/inc/MantidICat/CatalogMyDataSearch.h
index d7aab301086c2dc330fcd67b9a529d1a77bd4942..e5aba93869515099df2580488d5f01266c96c568 100644
--- a/Code/Mantid/Framework/ICat/inc/MantidICat/CatalogMyDataSearch.h
+++ b/Code/Mantid/Framework/ICat/inc/MantidICat/CatalogMyDataSearch.h
@@ -2,7 +2,7 @@
 #define MANTID_ICAT_CATALOGMYDATASEARCH_H_
 
 #include "MantidAPI/Algorithm.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 #include "MantidICat/DllConfig.h"
 
 namespace Mantid {
diff --git a/Code/Mantid/Framework/ICat/inc/MantidICat/CatalogSearch.h b/Code/Mantid/Framework/ICat/inc/MantidICat/CatalogSearch.h
index cd7032a4b6207b04fc655245c1cef3d1c100b5bb..6f113c32088b20619e5319801f3a76f945c3136e 100644
--- a/Code/Mantid/Framework/ICat/inc/MantidICat/CatalogSearch.h
+++ b/Code/Mantid/Framework/ICat/inc/MantidICat/CatalogSearch.h
@@ -2,7 +2,7 @@
 #define MANTID_ICAT_CATALOGSEARCH_H_
 
 #include "MantidAPI/Algorithm.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 #include "MantidICat/CatalogSearchParam.h"
 #include "MantidICat/DllConfig.h"
 
diff --git a/Code/Mantid/Framework/ICat/inc/MantidICat/ICat3/ICat3Helper.h b/Code/Mantid/Framework/ICat/inc/MantidICat/ICat3/ICat3Helper.h
index f58b247ebaf4907c42bd69fa11f31c9808dd93b5..9b117233b784fa594c4aad7725699468798cca74 100644
--- a/Code/Mantid/Framework/ICat/inc/MantidICat/ICat3/ICat3Helper.h
+++ b/Code/Mantid/Framework/ICat/inc/MantidICat/ICat3/ICat3Helper.h
@@ -4,7 +4,7 @@
 #include "MantidICat/ICat3/GSoapGenerated/ICat3ICATPortBindingProxy.h"
 #include "MantidICat/CatalogSearchParam.h"
 #include "MantidAPI/CatalogSession.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 #include "MantidAPI/TableRow.h"
 
 namespace Mantid {
diff --git a/Code/Mantid/Framework/ICat/src/CatalogGetDataFiles.cpp b/Code/Mantid/Framework/ICat/src/CatalogGetDataFiles.cpp
index 088c6840d8b4c88bacc717620c628aa0d648858b..6b43c660b5d46a7d61d96adce9eb117ac4336af9 100644
--- a/Code/Mantid/Framework/ICat/src/CatalogGetDataFiles.cpp
+++ b/Code/Mantid/Framework/ICat/src/CatalogGetDataFiles.cpp
@@ -1,6 +1,7 @@
 #include "MantidICat/CatalogGetDataFiles.h"
 #include "MantidKernel/MandatoryValidator.h"
 #include "MantidAPI/CatalogManager.h"
+#include "MantidAPI/ITableWorkspace.h"
 #include "MantidAPI/WorkspaceProperty.h"
 
 namespace Mantid {
diff --git a/Code/Mantid/Framework/ICat/src/CatalogGetDataSets.cpp b/Code/Mantid/Framework/ICat/src/CatalogGetDataSets.cpp
index 69a6fe7a2bd9de04117709d839443efb76b1e7b8..51afdfa29b9d073717944cf18a51cc23577a5244 100644
--- a/Code/Mantid/Framework/ICat/src/CatalogGetDataSets.cpp
+++ b/Code/Mantid/Framework/ICat/src/CatalogGetDataSets.cpp
@@ -1,6 +1,7 @@
 #include "MantidICat/CatalogGetDataSets.h"
 #include "MantidKernel/MandatoryValidator.h"
 #include "MantidAPI/CatalogManager.h"
+#include "MantidAPI/ITableWorkspace.h"
 #include "MantidAPI/WorkspaceProperty.h"
 
 namespace Mantid {
diff --git a/Code/Mantid/Framework/ICat/src/CatalogMyDataSearch.cpp b/Code/Mantid/Framework/ICat/src/CatalogMyDataSearch.cpp
index 083b718c56756216b95707db91a41bf6405c664f..7e0d2331ce14f3a42a77e2a518b1bc8f99159962 100644
--- a/Code/Mantid/Framework/ICat/src/CatalogMyDataSearch.cpp
+++ b/Code/Mantid/Framework/ICat/src/CatalogMyDataSearch.cpp
@@ -1,5 +1,6 @@
 #include "MantidICat/CatalogMyDataSearch.h"
 #include "MantidAPI/CatalogManager.h"
+#include "MantidAPI/ITableWorkspace.h"
 
 namespace Mantid {
 namespace ICat {
diff --git a/Code/Mantid/Framework/ICat/src/CatalogSearch.cpp b/Code/Mantid/Framework/ICat/src/CatalogSearch.cpp
index 75852a2a32f3b8ba7bcc08b4e58d583f6f3fcc31..b33fb5734010e366868a09653109e1c4bd4a66b8 100644
--- a/Code/Mantid/Framework/ICat/src/CatalogSearch.cpp
+++ b/Code/Mantid/Framework/ICat/src/CatalogSearch.cpp
@@ -11,6 +11,7 @@ GCC_DIAG_ON(literal-suffix)
 #endif
 
 #include "MantidAPI/CatalogManager.h"
+#include "MantidAPI/ITableWorkspace.h"
 #include "MantidAPI/WorkspaceProperty.h"
 #include "MantidKernel/BoundedValidator.h"
 #include "MantidKernel/DateValidator.h"
diff --git a/Code/Mantid/Framework/ICat/src/ICat3/ICat3Helper.cpp b/Code/Mantid/Framework/ICat/src/ICat3/ICat3Helper.cpp
index fd06ff81d408fbfb64645c20f6e91b7064c6136c..aa84be9890a908748010c585f5cf1c920e6dbb5a 100644
--- a/Code/Mantid/Framework/ICat/src/ICat3/ICat3Helper.cpp
+++ b/Code/Mantid/Framework/ICat/src/ICat3/ICat3Helper.cpp
@@ -8,6 +8,7 @@ GCC_DIAG_OFF(literal-suffix)
 #endif
 #include "MantidICat/ICat3/ICat3Helper.h"
 #include "MantidICat/ICat3/ICat3ErrorHandling.h"
+#include "MantidAPI/ITableWorkspace.h"
 #include "MantidKernel/Logger.h"
 #include <iomanip>
 #include <time.h>
diff --git a/Code/Mantid/Framework/ICat/src/ICat4/ICat4Catalog.cpp b/Code/Mantid/Framework/ICat/src/ICat4/ICat4Catalog.cpp
index f4d1cb43619a8f47247bbe4796af8fc4709f8dbb..fbca654a7492b7816fa954cbe9c79ca66950e29e 100644
--- a/Code/Mantid/Framework/ICat/src/ICat4/ICat4Catalog.cpp
+++ b/Code/Mantid/Framework/ICat/src/ICat4/ICat4Catalog.cpp
@@ -1,3 +1,4 @@
+#include "MantidAPI/ITableWorkspace.h"
 #include "MantidAPI/CatalogFactory.h"
 #include "MantidAPI/Progress.h"
 #include "MantidAPI/WorkspaceFactory.h"
diff --git a/Code/Mantid/Framework/MDAlgorithms/src/CutMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/CutMD.cpp
index c74e52602e582e2954fbdb4fb7c45e169a56e6ad..7adda42f367fe2cd8fa8705f71fd5f80adb2e6a7 100644
--- a/Code/Mantid/Framework/MDAlgorithms/src/CutMD.cpp
+++ b/Code/Mantid/Framework/MDAlgorithms/src/CutMD.cpp
@@ -1,6 +1,7 @@
 #include "MantidMDAlgorithms/CutMD.h"
 #include "MantidAPI/IMDEventWorkspace.h"
 #include "MantidAPI/IMDHistoWorkspace.h"
+#include "MantidAPI/ITableWorkspace.h"
 #include "MantidAPI/Projection.h"
 #include "MantidGeometry/Crystal/OrientedLattice.h"
 #include "MantidKernel/ArrayProperty.h"
diff --git a/Code/Mantid/Framework/MDAlgorithms/src/Quantification/FitResolutionConvolvedModel.cpp b/Code/Mantid/Framework/MDAlgorithms/src/Quantification/FitResolutionConvolvedModel.cpp
index da845673529edfc948570c4d80e9b8f069538fed..57d515f35d6dcf1e43fce528c31521d193503a1a 100644
--- a/Code/Mantid/Framework/MDAlgorithms/src/Quantification/FitResolutionConvolvedModel.cpp
+++ b/Code/Mantid/Framework/MDAlgorithms/src/Quantification/FitResolutionConvolvedModel.cpp
@@ -1,6 +1,7 @@
 #include "MantidMDAlgorithms/Quantification/FitResolutionConvolvedModel.h"
 
 #include "MantidAPI/IMDEventWorkspace.h"
+#include "MantidAPI/ITableWorkspace.h"
 #include "MantidKernel/ListValidator.h"
 #include "MantidKernel/MandatoryValidator.h"
 #include "MantidMDAlgorithms/Quantification/ResolutionConvolvedCrossSection.h"
diff --git a/Code/Mantid/Framework/Nexus/inc/MantidNexus/NexusFileIO.h b/Code/Mantid/Framework/Nexus/inc/MantidNexus/NexusFileIO.h
index 2c3129fc10e627e0030bf2f0389b0275e14d9ea3..5d4a4a2594ea4021f46f1119abffc24bc6805fc5 100644
--- a/Code/Mantid/Framework/Nexus/inc/MantidNexus/NexusFileIO.h
+++ b/Code/Mantid/Framework/Nexus/inc/MantidNexus/NexusFileIO.h
@@ -1,7 +1,7 @@
 #ifndef NEXUSFILEIO_H
 #define NEXUSFILEIO_H
 #include "MantidAPI/MatrixWorkspace.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 #include "MantidAPI/Progress.h"
 #include "MantidKernel/TimeSeriesProperty.h"
 #include "MantidDataObjects/EventWorkspace.h"
diff --git a/Code/Mantid/Framework/PythonInterface/mantid/api/src/Exports/CatalogManager.cpp b/Code/Mantid/Framework/PythonInterface/mantid/api/src/Exports/CatalogManager.cpp
index 90d162633b35ca63f5cd15fca5da06be0cbb2c97..d775d56815a6965479931625c480cf0f00fe253a 100644
--- a/Code/Mantid/Framework/PythonInterface/mantid/api/src/Exports/CatalogManager.cpp
+++ b/Code/Mantid/Framework/PythonInterface/mantid/api/src/Exports/CatalogManager.cpp
@@ -5,6 +5,8 @@
 #include <boost/python/list.hpp>
 #include <boost/python/register_ptr_to_python.hpp>
 
+#include <map>
+
 using namespace Mantid::API;
 using namespace boost::python;
 
diff --git a/Code/Mantid/Framework/PythonInterface/mantid/api/src/Exports/DataProcessorAlgorithm.cpp b/Code/Mantid/Framework/PythonInterface/mantid/api/src/Exports/DataProcessorAlgorithm.cpp
index 4a732510f878f79225f6c1440f19af07f30ef33d..1dacf9c7bc503e3455d541b358f1beb3dac72b61 100644
--- a/Code/Mantid/Framework/PythonInterface/mantid/api/src/Exports/DataProcessorAlgorithm.cpp
+++ b/Code/Mantid/Framework/PythonInterface/mantid/api/src/Exports/DataProcessorAlgorithm.cpp
@@ -1,5 +1,6 @@
 #include "MantidPythonInterface/api/PythonAlgorithm/DataProcessorAdapter.h"
 #include "MantidPythonInterface/kernel/Policies/VectorToNumpy.h"
+#include "MantidAPI/ITableWorkspace.h"
 #include <boost/python/class.hpp>
 #include <boost/python/overloads.hpp>
 
diff --git a/Code/Mantid/Framework/SINQ/inc/MantidSINQ/PoldiAutoCorrelation5.h b/Code/Mantid/Framework/SINQ/inc/MantidSINQ/PoldiAutoCorrelation5.h
index 3cc46f6d7098b6ab5611889bd482931a42b5d590..2c81cfe39224954e78f4d71cb68b37399088f172 100644
--- a/Code/Mantid/Framework/SINQ/inc/MantidSINQ/PoldiAutoCorrelation5.h
+++ b/Code/Mantid/Framework/SINQ/inc/MantidSINQ/PoldiAutoCorrelation5.h
@@ -6,7 +6,7 @@
 //----------------------------------------------------------------------
 #include "MantidSINQ/DllConfig.h"
 #include "MantidAPI/Algorithm.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 #include "MantidDataObjects/Workspace2D.h"
 #include "MantidDataObjects/TableWorkspace.h"
 
diff --git a/Code/Mantid/Framework/TestHelpers/inc/MantidTestHelpers/FakeObjects.h b/Code/Mantid/Framework/TestHelpers/inc/MantidTestHelpers/FakeObjects.h
index e49826e8a8581aea79976a475e3ec93cf938b9d0..983e7ed284218e182a6d003005a11dc7fb260f86 100644
--- a/Code/Mantid/Framework/TestHelpers/inc/MantidTestHelpers/FakeObjects.h
+++ b/Code/Mantid/Framework/TestHelpers/inc/MantidTestHelpers/FakeObjects.h
@@ -19,7 +19,7 @@
  */
 
 #include "MantidAPI/ISpectrum.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 #include "MantidAPI/MatrixWorkspace.h"
 #include "MantidKernel/cow_ptr.h"
 #include "MantidAPI/RefAxis.h"
diff --git a/Code/Mantid/MantidPlot/src/Mantid/MantidDock.h b/Code/Mantid/MantidPlot/src/Mantid/MantidDock.h
index 7040844b33698736aab483ee6c3bfa4399d5a9e3..0b00af0d7f124a77e7f9571c89e2df9663573cc9 100644
--- a/Code/Mantid/MantidPlot/src/Mantid/MantidDock.h
+++ b/Code/Mantid/MantidPlot/src/Mantid/MantidDock.h
@@ -5,7 +5,7 @@
 #include "MantidAPI/IMDEventWorkspace_fwd.h"
 #include "MantidAPI/IMDWorkspace.h"
 #include "MantidAPI/IPeaksWorkspace_fwd.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 #include "MantidAPI/MatrixWorkspace.h"
 #include "MantidAPI/WorkspaceGroup.h"
 
diff --git a/Code/Mantid/MantidPlot/src/Mantid/MantidTable.h b/Code/Mantid/MantidPlot/src/Mantid/MantidTable.h
index b8e09c3c1284761b2fb557f685b10720fc47ac39..911e70032f30c718c1cd8d76b284a7f561122423 100644
--- a/Code/Mantid/MantidPlot/src/Mantid/MantidTable.h
+++ b/Code/Mantid/MantidPlot/src/Mantid/MantidTable.h
@@ -3,7 +3,7 @@
 
 #include "../Table.h"
 #include "MantidQtAPI/WorkspaceObserver.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 
 
 /** A MantidTable appears to be a MantidPlot "Table" object
diff --git a/Code/Mantid/MantidPlot/src/PrecompiledHeader.h b/Code/Mantid/MantidPlot/src/PrecompiledHeader.h
index 8e53086640cf989be00764a4243821e16b76b46a..50035c749c3563c77b93c9d9b2e778df81e778ca 100644
--- a/Code/Mantid/MantidPlot/src/PrecompiledHeader.h
+++ b/Code/Mantid/MantidPlot/src/PrecompiledHeader.h
@@ -5,7 +5,7 @@
 #include "MantidKernel/Exception.h"
 #include "MantidAPI/IAlgorithm.h"
 #include "MantidAPI/MatrixWorkspace.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 #include "MantidAPI/AnalysisDataService.h"
 
 //STL 
diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/IReflSearcher.h b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/IReflSearcher.h
index 0230fc83e5bcfd1a9dc50ec7aa4d5a4b43b04e32..0c62115f2c8ef6dcc3c3f0732d3389339832611d 100644
--- a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/IReflSearcher.h
+++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/IReflSearcher.h
@@ -4,7 +4,7 @@
 #include <string>
 
 #include "MantidQtCustomInterfaces/IReflPresenter.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 
 namespace MantidQt
 {
diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/Muon/MuonAnalysis.h b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/Muon/MuonAnalysis.h
index f1d3a6507b8ffaabdf81e5c51ce401eea1dac2a0..e2c45c8c36c5080382fb7a928b15b1b03afef21f 100644
--- a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/Muon/MuonAnalysis.h
+++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/Muon/MuonAnalysis.h
@@ -8,7 +8,7 @@
 
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/MatrixWorkspace.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 
 #include "MantidGeometry/Instrument.h"
 
diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/QReflTableModel.h b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/QReflTableModel.h
index 0ea7d9a8454385e64ccb3e394311a3ae746bfcd3..e815574bc2a39b908da71734bff7f564dc8e47de 100644
--- a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/QReflTableModel.h
+++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/QReflTableModel.h
@@ -1,7 +1,7 @@
 #ifndef MANTID_CUSTOMINTERFACES_QREFLTABLEMODEL_H_
 #define MANTID_CUSTOMINTERFACES_QREFLTABLEMODEL_H_
 
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 #include <QAbstractTableModel>
 #include <boost/shared_ptr.hpp>
 #include <map>
diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/ReflMainViewPresenter.h b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/ReflMainViewPresenter.h
index 92c1ca41ee41fa4d362d2c4f2319f8bbc03247b0..655b97c528ff9237f2e18c043fd166bfd5b6ea3c 100644
--- a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/ReflMainViewPresenter.h
+++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/ReflMainViewPresenter.h
@@ -2,7 +2,7 @@
 #define MANTID_CUSTOMINTERFACES_REFLMAINVIEWPRESENTER_H
 
 #include "MantidAPI/AnalysisDataService.h"
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 #include "MantidKernel/System.h"
 #include "MantidQtCustomInterfaces/IReflPresenter.h"
 #include "MantidQtCustomInterfaces/IReflSearcher.h"
diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/ReflSearchModel.h b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/ReflSearchModel.h
index 9ed15d654e6beb102fd1222976f4ef71ea95fcc6..0e9ede64c176e5092e9e7a77157b21df6541953b 100644
--- a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/ReflSearchModel.h
+++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/ReflSearchModel.h
@@ -1,7 +1,7 @@
 #ifndef MANTID_CUSTOMINTERFACES_REFLSEARCHMODEL_H_
 #define MANTID_CUSTOMINTERFACES_REFLSEARCHMODEL_H_
 
-#include "MantidAPI/ITableWorkspace.h"
+#include "MantidAPI/ITableWorkspace_fwd.h"
 #include <QAbstractTableModel>
 #include <boost/shared_ptr.hpp>
 #include <map>