diff --git mptrack/View_pat.cpp mptrack/View_pat.cpp
index 80b60b14c..1ccbaafdb 100644
--- mptrack/View_pat.cpp
+++ mptrack/View_pat.cpp
@@ -3553,9 +3553,10 @@ LRESULT CViewPattern::OnRecordPlugParamChange(WPARAM plugSlot, LPARAM paramIndex
 		return 0;
 	
 	CSoundFile &sndFile = pModDoc->GetSoundFile();
+	const bool isLiveRecord = IsLiveRecord();
 
 	//Work out where to put the new data
-	const PatternEditPos editPos = GetEditPos(sndFile, IsLiveRecord());
+	const PatternEditPos editPos = GetEditPos(sndFile, isLiveRecord);
 	const CHANNELINDEX chn = editPos.channel;
 	const ROWINDEX row = editPos.row;
 	const PATTERNINDEX pattern = editPos.pattern;
@@ -3574,11 +3575,24 @@ LRESULT CViewPattern::OnRecordPlugParamChange(WPARAM plugSlot, LPARAM paramIndex
 	{
 		// MPTM: Use PC Notes
 
+
 		// only overwrite existing PC Notes
 		if(m.IsEmpty() || m.IsPcNote())
 		{
 			m.Set(NOTE_PCS, static_cast<ModCommand::INSTR>(plugSlot + 1), static_cast<uint16>(paramIndex), static_cast<uint16>(pPlug->GetParameter(static_cast<PlugParamIndex>(paramIndex)) * ModCommand::maxColumnValue));
 		}
+
+		//PC Note multi-channel recording, issue 1622
+		auto recordGroup = pModDoc->GetChannelRecordGroup(chn);
+		if(isLiveRecord && recordGroup != RecordGroup::NoGroup)
+		{
+			auto newChannel = FindGroupRecordChannel(recordGroup, false, chn + 1);
+			if (newChannel != CHANNELINDEX_INVALID)
+			{
+				SetCurrentColumn(newChannel);
+			}
+		}
+
 	} else if(sndFile.GetModSpecifications().HasCommand(CMD_SMOOTHMIDI))
 	{
 		// Other formats: Use MIDI macros
