diff --git a/g2o/core/base_edge.h b/g2o/core/base_edge.h
index 70590d293..e1c34a93f 100644
--- a/g2o/core/base_edge.h
+++ b/g2o/core/base_edge.h
@@ -107,7 +107,8 @@ class BaseEdge : public OptimizableGraph::Edge {
     return information_;
   }
   EIGEN_STRONG_INLINE InformationType& information() { return information_; }
-  void setInformation(const InformationType& information) {
+  template <typename Derived>
+  void setInformation(const Eigen::EigenBase<Derived>& information) {
     information_ = information;
   }