diff --git a/include/Rivet/Math/eigen/ludecomposition.h b/include/Rivet/Math/eigen/ludecomposition.h
index 28e9aea..c2b0bcf 100644
--- a/include/Rivet/Math/eigen/ludecomposition.h
+++ b/include/Rivet/Math/eigen/ludecomposition.h
@@ -85,7 +85,7 @@ class LUDecomposition
 public:
 
     /** Performs the LU Decomposition of mat. Use this constructor. */
-    LUDecomposition( const Matrix<T, Size> & mat ) { perform( mat ); }
+    LUDecomposition( const Matrix<T, Size> & mat ) { this->perform( mat ); }
 
 protected:
     /** Default constructor. Does nothing. \internal
diff --git a/include/Rivet/Math/eigen/matrix.h b/include/Rivet/Math/eigen/matrix.h
index 2b68510..7c1d6fd 100644
--- a/include/Rivet/Math/eigen/matrix.h
+++ b/include/Rivet/Math/eigen/matrix.h
@@ -170,7 +170,7 @@ public:
       */
     Matrix( const Matrix & other )
     {
-        readArray( other.array() );
+        this->readArray( other.array() );
     }
 
     /**
diff --git a/include/Rivet/Math/eigen/vector.h b/include/Rivet/Math/eigen/vector.h
index 9ac8626..f52ad44 100644
--- a/include/Rivet/Math/eigen/vector.h
+++ b/include/Rivet/Math/eigen/vector.h
@@ -141,7 +141,7 @@ public:
       */
     Vector( const Vector &v )
     {
-        readArray( v.array() );
+        this->readArray( v.array() );
     }
 
     /**
diff --git a/src/Core/AnalysisInfo.cc b/src/Core/AnalysisInfo.cc
index 9aa03f2..b6eacb7 100644
--- a/src/Core/AnalysisInfo.cc
+++ b/src/Core/AnalysisInfo.cc
@@ -64,8 +64,8 @@ namespace Rivet {
           const YAML::Node& beampairs = it.second();
           vector<PdgIdPair> beam_pairs;
           if (beampairs.size() == 2 &&
-              beampairs[0].GetType() == YAML::CT_SCALAR &&
-              beampairs[1].GetType() == YAML::CT_SCALAR) {
+              beampairs[0].Type() == YAML::NodeType::Scalar &&
+              beampairs[1].Type() == YAML::NodeType::Scalar) {
             string bstr0, bstr1;
             beampairs[0] >> bstr0;
             beampairs[1] >> bstr1;
@@ -74,8 +74,8 @@ namespace Rivet {
             for (YAML::Iterator bpi = beampairs.begin(); bpi != beampairs.end(); ++bpi) {
               const YAML::Node& bp = *bpi;
               if (bp.size() == 2 &&
-                  bp[0].GetType() == YAML::CT_SCALAR &&
-                  bp[1].GetType() == YAML::CT_SCALAR) {
+                  bp[0].Type() == YAML::NodeType::Scalar &&
+                  bp[1].Type() == YAML::NodeType::Scalar) {
                 string bstr0, bstr1;
                 bp[0] >> bstr0;
                 bp[1] >> bstr1;
@@ -91,12 +91,12 @@ namespace Rivet {
           const YAML::Node& energies = it.second();
           vector<pair<double,double> > beam_energy_pairs;
           for (YAML::Iterator be = energies.begin(); be != energies.end(); ++be) {
-            if (be->GetType() == YAML::CT_SCALAR) {
+            if (be->Type() == YAML::NodeType::Scalar) {
               // If beam energy is a scalar, then assume symmetric beams each with half that energy
               double sqrts;
               *be >> sqrts;
               beam_energy_pairs += make_pair(sqrts/2.0, sqrts/2.0);
-            } else if (be->GetType() == YAML::CT_SEQUENCE) {
+            } else if (be->Type() == YAML::NodeType::Sequence) {
               const YAML::Node& beseq = *be;
               // If the sub-sequence is of length 1, then it's another scalar sqrt(s)!
               if (beseq.size() == 1) {
