Index: soundlib/Load_dsm.cpp
===================================================================
--- soundlib/Load_dsm.cpp	(revision 11257)
+++ soundlib/Load_dsm.cpp	(revision 11258)
@@ -222,7 +222,6 @@
 			chunk.Skip(2);
 
 			ROWINDEX row = 0;
-			PatternRow rowBase = Patterns[patNum];
 			while(chunk.CanRead(1) && row < 64)
 			{
 				uint8 flag = chunk.ReadUint8();
@@ -229,13 +228,12 @@
 				if(!flag)
 				{
 					row++;
-					rowBase = Patterns[patNum].GetRow(row);
 					continue;
 				}
 
 				CHANNELINDEX chn = (flag & 0x0F);
 				ModCommand dummy = ModCommand();
-				ModCommand &m = (chn < GetNumChannels() ? rowBase[chn] : dummy);
+				ModCommand &m = (chn < GetNumChannels() ? *Patterns[patNum].GetpModCommand(row, chn) : dummy);
 
 				if(flag & 0x80)
 				{
