diff --git a/src/darwin_leg_kinematics.h b/src/darwin_leg_kinematics.h
index c1d3587b1313ca950bbe04be37a36cfd9c0e232f..ced01e7a73e889d0212d95bee68a4cb85e179e37 100644
--- a/src/darwin_leg_kinematics.h
+++ b/src/darwin_leg_kinematics.h
@@ -4,6 +4,7 @@
 #include <string>
 #include <vector>
 #include <Eigen/Dense>
+#include <Eigen/StdVector>
 
 typedef struct{
   double alpha;
@@ -25,12 +26,13 @@ class CDarwinLegKinematics
   private:
     unsigned int num_dof;
     std::vector<std::string> joint_names;
-    std::vector<Eigen::Matrix4d> fwd_kin_transforms;
+    std::vector< Eigen::Matrix4d,Eigen::aligned_allocator<Eigen::Matrix4d> > fwd_kin_transforms;
     std::vector<TDHParams> fwd_kin_params;
   protected:
     double angle_norm(double angle);
     void zero_small_values(Eigen::Matrix4d &matrix,double threshold);
   public:
+    EIGEN_MAKE_ALIGNED_OPERATOR_NEW
     CDarwinLegKinematics();
     void load_chain(std::string &filename);
     unsigned int get_num_dof(void);