diff --git a/registration/include/pcl/registration/correspondence_rejection_features.h b/registration/include/pcl/registration/correspondence_rejection_features.h
index 44835c379..f3bab8fef 100644
--- a/registration/include/pcl/registration/correspondence_rejection_features.h
+++ b/registration/include/pcl/registration/correspondence_rejection_features.h
@@ -269,9 +269,9 @@ protected:
       // Check if the representations are valid
       if (!feature_representation_->isValid(feat_src) ||
           !feature_representation_->isValid(feat_tgt)) {
-        PCL_ERROR("[pcl::registration::%s::getCorrespondenceScore] Invalid feature "
-                  "representation given!\n",
-                  this->getClassName().c_str());
+        PCL_ERROR(
+            "[pcl::registration::CorrespondenceRejectorFeatures::FeatureContainer::"
+            "getCorrespondenceScore] Invalid feature representation given!\n");
         return (std::numeric_limits<double>::max());
       }
 
diff --git a/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.hpp b/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.hpp
index 7ed8aaf9d..e7f45b650 100644
--- a/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.hpp
+++ b/surface/include/pcl/surface/3rdparty/poisson4/octree_poisson.hpp
@@ -746,7 +746,10 @@ namespace pcl
       Real temp,dist2;
       if(!children){return this;}
       for(int i=0;i<Cube::CORNERS;i++){
-        temp=SquareDistance(children[i].center,p);
+        Point3D<Real> child_center;
+        Real child_width;
+        children[i].centerAndWidth(child_center, child_width);
+        temp=SquareDistance(child_center,p);
         if(!i || temp<dist2){
           dist2=temp;
           nearest=i;
@@ -807,7 +810,7 @@ namespace pcl
       children=NULL;
 
       d=node.depth ();
-      for(i=0;i<DIMENSION;i++){this->offset[i] = node.offset[i];}
+      for(i=0;i<DIMENSION;i++){this->off[i] = node.off[i];}
       if(node.children){
         initChildren();
         for(i=0;i<Cube::CORNERS;i++){children[i] = node.children[i];}
@@ -817,7 +820,7 @@ namespace pcl
 
     template <class NodeData,class Real>
     int OctNode<NodeData,Real>::CompareForwardDepths(const void* v1,const void* v2){
-      return ((const OctNode<NodeData,Real>*)v1)->depth-((const OctNode<NodeData,Real>*)v2)->depth;
+      return ((const OctNode<NodeData,Real>*)v1)->depth()-((const OctNode<NodeData,Real>*)v2)->depth();
     }
 
     template< class NodeData , class Real >
@@ -874,7 +877,7 @@ namespace pcl
 
     template <class NodeData,class Real>
     int OctNode<NodeData,Real>::CompareBackwardDepths(const void* v1,const void* v2){
-      return ((const OctNode<NodeData,Real>*)v2)->depth-((const OctNode<NodeData,Real>*)v1)->depth;
+      return ((const OctNode<NodeData,Real>*)v2)->depth()-((const OctNode<NodeData,Real>*)v1)->depth();
     }
 
     template <class NodeData,class Real>
diff --git a/surface/include/pcl/surface/3rdparty/poisson4/sparse_matrix.hpp b/surface/include/pcl/surface/3rdparty/poisson4/sparse_matrix.hpp
index 24f0a5402..5e54ac786 100644
--- a/surface/include/pcl/surface/3rdparty/poisson4/sparse_matrix.hpp
+++ b/surface/include/pcl/surface/3rdparty/poisson4/sparse_matrix.hpp
@@ -228,14 +228,18 @@ namespace pcl
     template<class T>
     void SparseMatrix<T>::SetZero()
     {
-      Resize(this->m_N, this->m_M);
+      // copied from operator *=
+      for (int i=0; i<rows; i++)
+      {
+        for(int ii=0;ii<rowSizes[i];ii++){m_ppElements[i][ii].Value=T(0);}
+      }
     }
 
     template<class T>
     void SparseMatrix<T>::SetIdentity()
     {
       SetZero();
-      for(int ij=0; ij < Min( this->Rows(), this->Columns() ); ij++)
+      for(int ij=0; ij < std::min<int>( rows, _maxEntriesPerRow ); ij++)
         (*this)(ij,ij) = T(1);
     }
 
@@ -388,7 +392,7 @@ namespace pcl
       T alpha,beta,rDotR;
       int i;
 
-      solution.Resize(M.Columns());
+      solution.Resize(bb.Dimensions());
       solution.SetZero();
 
       d=r=bb;
diff --git a/visualization/include/pcl/visualization/impl/registration_visualizer.hpp b/visualization/include/pcl/visualization/impl/registration_visualizer.hpp
index 884735e4a..83d63906d 100644
--- a/visualization/include/pcl/visualization/impl/registration_visualizer.hpp
+++ b/visualization/include/pcl/visualization/impl/registration_visualizer.hpp
@@ -39,6 +39,7 @@
 #pragma once
 
 #include <thread>
+#include <chrono>
 
 
 namespace pcl
