diff --git a/bindings/python/crocoddyl/multibody.hpp b/bindings/python/crocoddyl/multibody.hpp
index 50459431b55ab8245c881056ffa0f5937c30bb79..c165ef4cb97c45d5fa1021375291cf9f98507909 100644
--- a/bindings/python/crocoddyl/multibody.hpp
+++ b/bindings/python/crocoddyl/multibody.hpp
@@ -15,6 +15,7 @@
 #include "python/crocoddyl/multibody/actuations/full.hpp"
 #include "python/crocoddyl/multibody/cost-base.hpp"
 #include "python/crocoddyl/multibody/contact-base.hpp"
+#include "python/crocoddyl/multibody/impulse-base.hpp"
 #include "python/crocoddyl/multibody/costs/cost-sum.hpp"
 #include "python/crocoddyl/multibody/costs/state.hpp"
 #include "python/crocoddyl/multibody/costs/control.hpp"
@@ -38,6 +39,7 @@ void exposeMultibody() {
   exposeActuationFull();
   exposeCostMultibody();
   exposeContactAbstract();
+  exposeImpulseAbstract();
   exposeCostSum();
   exposeCostState();
   exposeCostControl();
diff --git a/bindings/python/crocoddyl/multibody/impulse-base.hpp b/bindings/python/crocoddyl/multibody/impulse-base.hpp
index 5b3542817ed68050b58317289789e1c4db303060..6e3a7b50cb975bf6299ba4296c710ac4da842fc8 100644
--- a/bindings/python/crocoddyl/multibody/impulse-base.hpp
+++ b/bindings/python/crocoddyl/multibody/impulse-base.hpp
@@ -19,7 +19,6 @@ namespace bp = boost::python;
 class ImpulseModelAbstract_wrap : public ImpulseModelAbstract, public bp::wrapper<ImpulseModelAbstract> {
  public:
   ImpulseModelAbstract_wrap(StateMultibody& state, int ni) : ImpulseModelAbstract(state, ni) {}
-  ImpulseModelAbstract_wrap(StateMultibody& state, int ni) : ImpulseModelAbstract(state, ni) {}
 
   void calc(const boost::shared_ptr<ImpulseDataAbstract>& data, const Eigen::Ref<const Eigen::VectorXd>& x) {
     assert(x.size() == state_.get_nx() && "x has wrong dimension");
@@ -47,7 +46,7 @@ void exposeImpulseAbstract() {
       "It defines a template for impulse models.\n"
       "The calc and calcDiff functions compute the impulse Jacobian\n"
       "the derivatives respectively.",
-      bp::init<StateMultibody&, int, bp::optional<int> >(
+      bp::init<StateMultibody&, int>(
           bp::args(" self", " state", " ni"),
           "Initialize the impulse model.\n\n"
           ":param state: state of the multibody system\n"
@@ -78,8 +77,7 @@ void exposeImpulseAbstract() {
                     bp::make_function(&ImpulseModelAbstract_wrap::get_state, bp::return_internal_reference<>()),
                     "state of the multibody system")
       .add_property(
-          "ni",
-          bp::make_function(&ImpulseModelAbstract_wrap::get_ni, bp::return_value_policy<bp::return_by_value>()),
+          "ni", bp::make_function(&ImpulseModelAbstract_wrap::get_ni, bp::return_value_policy<bp::return_by_value>()),
           "dimension of impulse");
 
   bp::class_<ImpulseDataAbstract, boost::shared_ptr<ImpulseDataAbstract>, boost::noncopyable>(
diff --git a/src/multibody/impulse-base.cpp b/src/multibody/impulse-base.cpp
index d8ce36bf715591a6d2a2f68d884762088e479e48..4c7700347339b24a540b30c387b84dc781262ea6 100644
--- a/src/multibody/impulse-base.cpp
+++ b/src/multibody/impulse-base.cpp
@@ -10,8 +10,7 @@
 
 namespace crocoddyl {
 
-ImpulseModelAbstract::ImpulseModelAbstract(StateMultibody& state, unsigned int const& ni)
-    : state_(state), ni_(ni) {}
+ImpulseModelAbstract::ImpulseModelAbstract(StateMultibody& state, unsigned int const& ni) : state_(state), ni_(ni) {}
 
 ImpulseModelAbstract::~ImpulseModelAbstract() {}