Index: soundlib/Load_ams.cpp
===================================================================
--- soundlib/Load_ams.cpp	(revision 8238)
+++ soundlib/Load_ams.cpp	(revision 8239)
@@ -1024,6 +1024,7 @@
 //------------------------------------------------------------------------------------------------------------------------
 {
 	std::vector<int8> tempBuf(destSize, 0);
+	size_t depackSize = destSize;
 
 	// Unpack Loop
 	{
@@ -1058,6 +1059,8 @@
 				j--;
 			}
 		}
+		// j should only be non-zero for truncated samples
+		depackSize -= j;
 	}
 
 	// Bit Unpack Loop
@@ -1066,7 +1069,7 @@
 		uint16 bitcount = 0x80;
 		size_t k = 0;
 		uint8 *dst = static_cast<uint8 *>(dest);
-		for(size_t i = 0; i < destSize; i++)
+		for(size_t i = 0; i < depackSize; i++)
 		{
 			uint8 al = *out++;
 			uint16 dh = 0;
@@ -1090,7 +1093,7 @@
 	{
 		int8 old = 0;
 		int8 *out = static_cast<int8 *>(dest);
-		for(size_t i = destSize; i != 0; i--)
+		for(size_t i = depackSize; i != 0; i--)
 		{
 			int pos = *reinterpret_cast<uint8 *>(out);
 			if(pos != 128 && (pos & 0x80) != 0)
