diff --git a/Code/Mantid/Framework/MDAlgorithms/src/SmoothMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/SmoothMD.cpp
index bc61cb6d568070331f6370917c7c40b8d6d05adb..3f7b1dd010a36c1957254a792d27b4c1987b698f 100644
--- a/Code/Mantid/Framework/MDAlgorithms/src/SmoothMD.cpp
+++ b/Code/Mantid/Framework/MDAlgorithms/src/SmoothMD.cpp
@@ -78,7 +78,7 @@ SmoothMD::~SmoothMD() {}
 const std::string SmoothMD::name() const { return "SmoothMD"; }
 
 /// Algorithm's version for identification. @see Algorithm::version
-int SmoothMD::version() const { return 1; };
+int SmoothMD::version() const { return 1; }
 
 /// Algorithm's category for identification. @see Algorithm::category
 const std::string SmoothMD::category() const { return "MDAlgorithms"; }
@@ -86,7 +86,7 @@ const std::string SmoothMD::category() const { return "MDAlgorithms"; }
 /// Algorithm's summary for use in the GUI and help. @see Algorithm::summary
 const std::string SmoothMD::summary() const {
   return "Smooth an MDHistoWorkspace according to a weight function";
-};
+}
 
 /**
  * Hat function smoothing. All weights even. Hat function boundaries beyond
@@ -99,10 +99,10 @@ IMDHistoWorkspace_sptr SmoothMD::hatSmooth(IMDHistoWorkspace_const_sptr toSmooth
                                  const WidthVector &widthVector) {
 
   uint64_t nPoints = toSmooth->getNPoints();
-  Progress progress(this, 0, 1, size_t( nPoints * 1.1 ) );
+  Progress progress(this, 0, 1, size_t( double(nPoints) * 1.1 ) );
   // Create the output workspace.
   IMDHistoWorkspace_sptr outWS = toSmooth->clone();
-  progress.reportIncrement(size_t(nPoints * 0.1)); // Report ~10% progress
+  progress.reportIncrement(size_t(double(nPoints) * 0.1)); // Report ~10% progress
 
   const int nThreads = Mantid::API::FrameworkManager::Instance()
                            .getNumOMPThreads(); // NThreads to Request
@@ -116,7 +116,6 @@ IMDHistoWorkspace_sptr SmoothMD::hatSmooth(IMDHistoWorkspace_const_sptr toSmooth
     boost::scoped_ptr<MDHistoWorkspaceIterator> iterator(
         dynamic_cast<MDHistoWorkspaceIterator *>(iterators[it]));
 
-    size_t counter = 0;
     do {
       // Gets all vertex-touching neighbours
 
@@ -135,10 +134,10 @@ IMDHistoWorkspace_sptr SmoothMD::hatSmooth(IMDHistoWorkspace_const_sptr toSmooth
 
       // Calculate the mean
       outWS->setSignalAt(iterator->getLinearIndex(),
-                         sumSignal / (nNeighbours + 1));
+                         sumSignal / double(nNeighbours + 1));
       // Calculate the sample variance
       outWS->setErrorSquaredAt(iterator->getLinearIndex(),
-                               sumSqError / (nNeighbours + 1));
+                               sumSqError / double(nNeighbours + 1));
 
 
       progress.report();
diff --git a/Code/Mantid/Framework/MDEvents/src/MDHistoWorkspaceIterator.cpp b/Code/Mantid/Framework/MDEvents/src/MDHistoWorkspaceIterator.cpp
index df4bae6053a45c06c4ca4014ca85e8b47ca843f6..7902abba202e48d481362bc054e9212190d29068 100644
--- a/Code/Mantid/Framework/MDEvents/src/MDHistoWorkspaceIterator.cpp
+++ b/Code/Mantid/Framework/MDEvents/src/MDHistoWorkspaceIterator.cpp
@@ -485,8 +485,8 @@ MDHistoWorkspaceIterator::createPermutations(const int width) const {
           offset * static_cast<int64_t>(m_ws->getDimension(j - 1)->getNBins());
 
       size_t nEntries = permutationsVertexTouching.size();
-      for (size_t k = 1; k <= width / 2; ++k) {
-        for (size_t m = 0; m < nEntries; m++) {
+      for (int k = 1; k <= width / 2; ++k) {
+        for (int m = 0; m < nEntries; m++) {
           permutationsVertexTouching.push_back((offset * k) +
                                                permutationsVertexTouching[m]);
           permutationsVertexTouching.push_back((offset * k * (-1)) +