Index: code/ai/aicode.cpp
===================================================================
--- code/ai/aicode.cpp	(revision 5691)
+++ code/ai/aicode.cpp	(working copy)
@@ -8804,8 +8804,9 @@
 										firing_range = MIN((swip->max_speed * swip->lifetime * 0.75f), swip->weapon_range);
 									else
 									{
+										int autocalc_range_mult = (Game_skill_level + 1 + aip->ai_class/2)/NUM_SKILL_LEVELS;
 										float secondary_range_mult = (aip->ai_secondary_range_mult == FLT_MIN)
-											? (Game_skill_level + 1 + aip->ai_class/2)/NUM_SKILL_LEVELS
+											? CLAMP(autocalc_range_mult, 0.0f, 1.6f)	//Sanity check: Max possible with retail AI classes is 1.6
 											: aip->ai_secondary_range_mult;
 
 										firing_range = MIN((swip->max_speed * swip->lifetime * secondary_range_mult), swip->weapon_range);

