diff --git a/stuff/logging.hh b/stuff/logging.hh
index 38a437a4c6da9d4dcf4d1cb4f55f24a666f10be9..7852dce11264589801cd1614644ee1b12b3ee1ea 100644
--- a/stuff/logging.hh
+++ b/stuff/logging.hh
@@ -42,6 +42,7 @@ public:
       , loglevel_(loglevel)
       , logflags_(logflags)
       , suspended_logflags_(logflags)
+      , is_suspended_(false)
     {
     }
 
@@ -248,6 +249,7 @@ public:
 
 protected:
   Logging()
+    : matlabLogStreamPtr(0)
   {
     streamIDs_.push_back(LOG_ERR);
     streamIDs_.push_back(LOG_DEBUG);
@@ -548,6 +550,9 @@ private:
   MatlabLogStream* matlabLogStreamPtr;
 
   friend Logging& Logger();
+  // satisfy stricter warnings wrt copying
+  Logging(const Logging&);
+  Logging& operator=(const Logging&);
 };
 
 /// global Logging instance
diff --git a/stuff/matrix.hh b/stuff/matrix.hh
index 9347c4bc02d6a630ecf5ec038dcdce6274643847..3a9b734671e5382ff4db9db498aed6c9cdf6834c 100644
--- a/stuff/matrix.hh
+++ b/stuff/matrix.hh
@@ -283,11 +283,11 @@ public:
     , eps_(eps)
     , rows_(local_matrix_.rows())
     , cols_(local_matrix_.columns())
+    , entries_(rows_ * cols_, FieldType(0.0))
   {
-    entries_.resize(rows_ * cols_, 0.0);
   }
 
-  void add(const int row, const int col, const FieldType val)
+  inline void add(const int row, const int col, const FieldType val)
   {
     entries_[row * cols_ + col] += val;
   }
@@ -296,7 +296,7 @@ public:
   {
     for (int i = 0; i < rows_; ++i) {
       for (int j = 0; j < cols_; ++j) {
-        const FieldType i_j = entries_[i * cols_ + j];
+        const FieldType& i_j = entries_[i * cols_ + j];
         if (std::fabs(i_j) > eps_)
           local_matrix_.add(i, j, i_j);
       }