Index: code/object/objectshield.cpp
===================================================================
--- code/object/objectshield.cpp	(revision 6095)
+++ code/object/objectshield.cpp	(working copy)
@@ -49,7 +49,9 @@
 	if (delta == 0.0f)
 		return;
 
-	if (!(Ai_info[Ships[objp->instance].ai_index].ai_profile_flags & AIPF_SMART_SHIELD_MANAGEMENT))
+	
+	if (!(Ai_info[Ships[objp->instance].ai_index].ai_profile_flags & AIPF_SMART_SHIELD_MANAGEMENT)
+		|| delta <= 0.0f) //SUSHI: We don't want smart shield management for negative delta
 	{
 		for (int i = 0; i < MAX_SHIELD_SECTIONS; i++)
 			shield_add_quad(objp, i, delta / MAX_SHIELD_SECTIONS);
