diff --git a/src/robotis_bin_file/robotis_bin_parser.cpp b/src/robotis_bin_file/robotis_bin_parser.cpp
index 725880c5dd4989beedac8b31abc5aff311b5d8a3..3e190b70ee384fa2b7f5dfeafd888d12d675c784 100644
--- a/src/robotis_bin_file/robotis_bin_parser.cpp
+++ b/src/robotis_bin_file/robotis_bin_parser.cpp
@@ -4,6 +4,7 @@
 #include <string.h>
 #include <iostream>
 #include <stdlib.h>
+#include <math.h>
 
 CBinFileParser::CBinFileParser()
 {
@@ -137,7 +138,7 @@ void CBinFileParser::serialize(const char *filename)
     this->pages[i+1].header.next=page.get_next_page();
     this->pages[i+1].header.exit=page.get_exit_page();
     this->pages[i+1].header.repeat=page.get_repetitions();
-    this->pages[i+1].header.speed=page.get_speed_rate()*32;
+    this->pages[i+1].header.speed=round((1.0/page.get_speed_rate())*32.0);
     this->pages[i+1].header.accel=page.get_inertial();
     this->pages[i+1].header.stepnum=page.get_num_steps();
     for(j=0;j<page.get_num_steps();j++)