Index: pilotfile/pilotfile_convert.h
===================================================================
--- pilotfile/pilotfile_convert.h	(revision 9744)
+++ pilotfile/pilotfile_convert.h	(working copy)
@@ -29,7 +29,11 @@
 #include "pilotfile/pilotfile.h"
 
 
+static const unsigned short MAX_JOY_AXES_CONV = 5;
 
+
 typedef struct index_list_t {
 	SCP_string name;
 	int index;
Index: pilotfile/plr.cpp
===================================================================
--- pilotfile/plr.cpp	(revision 9744)
+++ pilotfile/plr.cpp	(working copy)
@@ -601,7 +601,7 @@
 		}
 	}
 
-	list_axis = cfread_int(cfp);
+	list_axis = (int)cfread_ushort(cfp);
 	for (idx = 0; idx < list_axis; idx++) {
 		axi = cfread_int(cfp);
 		inv = cfread_int(cfp);
@@ -628,7 +628,7 @@
 		cfwrite_short(-1, cfp);
 	}
 
-	cfwrite_int(NUM_JOY_AXIS_ACTIONS, cfp);
+	cfwrite_ushort(NUM_JOY_AXIS_ACTIONS, cfp);
 
 	for (idx = 0; idx < NUM_JOY_AXIS_ACTIONS; idx++) {
 		cfwrite_int(Axis_map_to[idx], cfp);
@@ -895,6 +895,7 @@
 
 		if (offset_pos) {
 			cfseek(cfp, offset_pos, CF_SEEK_CUR);
+			mprintf(("PLR => WARNING: Advancing to the next section. %i bytes were skipped!\n", offset_pos));
 		}
 	}
 
Index: pilotfile/plr_convert.cpp
===================================================================
--- pilotfile/plr_convert.cpp	(revision 9744)
+++ pilotfile/plr_convert.cpp	(working copy)
@@ -766,7 +769,8 @@
 	}
 
 	// extra joystick stuff
-	for (idx = 0; idx < 5; idx++) {
+	cfwrite_ushort( MAX_JOY_AXES_CONV, cfp);
+	for (idx = 0; idx < MAX_JOY_AXES_CONV; idx++) {
 		cfwrite_int(plr->joy_axis_map_to[idx], cfp);
 		cfwrite_int(plr->joy_invert_axis[idx], cfp);
 	}
