Index: code/pilotfile/pilotfile.cpp
===================================================================
--- code/pilotfile/pilotfile.cpp	(revision 9855)
+++ code/pilotfile/pilotfile.cpp	(working copy)
@@ -182,4 +182,39 @@
 
 void pilotfile::update_stats_backout(scoring_struct *stats, bool training)
 {
-}
\ No newline at end of file
+}
+
+/**
+ * Reset stats stored in the .plr file; all_time_stats & multi_stats
+ */
+void pilotfile::reset_stats()
+{
+	scoring_special_t *ss_stats[] = {&all_time_stats, &multi_stats};
+
+	for (int i = 0; i < 2; ++i) {
+		ss_stats[i]->score = 0;
+		ss_stats[i]->assists = 0;
+		ss_stats[i]->score = 0;
+		ss_stats[i]->rank = 0;
+		ss_stats[i]->assists = 0;
+		ss_stats[i]->kill_count = 0;
+		ss_stats[i]->kill_count_ok = 0;
+		ss_stats[i]->bonehead_kills = 0;
+
+		ss_stats[i]->p_shots_fired = 0;
+		ss_stats[i]->p_shots_hit = 0;
+		ss_stats[i]->p_bonehead_hits = 0;
+
+		ss_stats[i]->s_shots_fired = 0;
+		ss_stats[i]->s_shots_hit = 0;
+		ss_stats[i]->s_bonehead_hits = 0;
+
+		ss_stats[i]->missions_flown = 0;
+		ss_stats[i]->flight_time = 0;
+		ss_stats[i]->last_flown = 0;
+		ss_stats[i]->last_backup = 0;
+
+		ss_stats[i]->ship_kills.clear();
+		ss_stats[i]->medals_earned.clear();
+	}
+}
Index: code/pilotfile/pilotfile.h
===================================================================
--- code/pilotfile/pilotfile.h	(revision 9855)
+++ code/pilotfile/pilotfile.h	(working copy)
@@ -39,6 +39,7 @@
 		// updating stats, multi and/or all-time
 		void update_stats(scoring_struct *stats, bool training = false);
 		void update_stats_backout(scoring_struct *stats, bool training = false);
+		void reset_stats();
 
 		// for checking to see if a PLR file is basically valid
 		bool verify(const char *fname, int *rank = NULL);
Index: code/playerman/managepilot.cpp
===================================================================
--- code/playerman/managepilot.cpp	(revision 9855)
+++ code/playerman/managepilot.cpp	(working copy)
@@ -34,6 +34,7 @@
 #include "cfile/cfile.h"
 #include "network/multi.h"
 #include "mod_table/mod_table.h"
+#include "pilotfile/pilotfile.h"
 
 
 // pilot pic image list stuff ( call pilot_load_pic_list() to make these valid )
@@ -121,7 +122,8 @@
 		pilot_set_random_squad_pic(p);
 	}
 
-	p->stats.init();	
+	p->stats.init();
+	Pilot.reset_stats();
 	
 	p->stats.score = 0;
 	p->stats.rank = RANK_ENSIGN;	
@@ -430,6 +432,7 @@
 	memset(&ci, 0, sizeof(control_info));
 
 	stats.init();
+	Pilot.reset_stats();
 
 	friendly_hits = 0;
 	friendly_damage = 0.0f;
