--- /dev/null
+Index: hector_pose_estimation_core/include/hector_pose_estimation/input.h
+===================================================================
+--- hector_pose_estimation_core.orig/include/hector_pose_estimation/input.h
++++ hector_pose_estimation_core/include/hector_pose_estimation/input.h
+@@ -79,7 +79,7 @@ public:
+ return *variance_;
+ }
+
+- virtual bool hasVariance() const { return variance_; }
++ virtual bool hasVariance() const { return variance_ != NULL; }
+ virtual Variance const &getVariance() { if (!variance_) variance_.reset(new Variance); return *variance_; }
+ virtual Variance const &getVariance() const { return *variance_; }
+ virtual Variance& variance() { if (!variance_) variance_.reset(new Variance); return *variance_; }
+Index: hector_pose_estimation_core/src/system/imu_model.cpp
+===================================================================
+--- hector_pose_estimation_core.orig/src/system/imu_model.cpp
++++ hector_pose_estimation_core/src/system/imu_model.cpp
+@@ -51,7 +51,7 @@ GyroModel::~GyroModel()
+ bool GyroModel::init(PoseEstimation& estimator, System &system, State& state)
+ {
+ bias_ = state.addSubState<3,3>(this, system.getName() + "_bias");
+- return bias_;
++ return bias_ != NULL;
+ }
+
+ void GyroModel::getPrior(State &state)
+@@ -113,7 +113,7 @@ AccelerometerModel::~AccelerometerModel(
+ bool AccelerometerModel::init(PoseEstimation& estimator, System &system, State& state)
+ {
+ bias_ = state.addSubState<3,3>(this, system.getName() + "_bias");
+- return bias_;
++ return bias_ != NULL;
+ }
+
+ void AccelerometerModel::getPrior(State &state)