diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp
index 537929b..84a5970 100644
--- a/src/gprs_rlcmac_sched.cpp
+++ b/src/gprs_rlcmac_sched.cpp
@@ -305,9 +305,6 @@
 		/* If a GPRS (CS1-4) Dl block is required, skip EGPRS(_GSMK) tbfs: */
 		if (req_mcs_kind == GPRS && tbf->is_egprs_enabled())
 			continue;
-		/* TODO: If a GPRS (CS1-4/MCS1-4) Dl block is required, downgrade MCS below instead of skipping */
-		if (req_mcs_kind == EGPRS_GMSK && (tbf->is_egprs_enabled() || tbf->ms()->mode() != GPRS))
-			continue;
 
 		age = tbf->frames_since_last_poll(fn);
 
@@ -316,6 +313,15 @@
 		if (prio == DL_PRIO_NONE)
 			continue;
 
+		/* If a GPRS (CS1-4/MCS1-4) Dl block is required, downgrade MCS
+		 * below instead of skipping. However, downgrade can only be
+		 * done on new data BSNs (not yet sent) and control blocks. */
+		if (req_mcs_kind == EGPRS_GMSK && tbf->is_egprs_enabled() &&
+		    (prio !=DL_PRIO_CONTROL && prio != DL_PRIO_NEW_DATA)) {
+			LOGP(DRLCMACSCHED, LOGL_DEBUG, "Cannot downgrade EGPRS TBF with prio %d\n", prio);
+			continue;
+		}
+
 		/* get the TBF with the highest priority */
 		if (prio > max_prio) {
 			prio_tfi = tfi;
@@ -326,12 +332,12 @@
 
 	if (prio_tbf) {
 		LOGP(DRLCMACSCHED, LOGL_DEBUG, "Scheduling data message at "
-			"RTS for DL TFI=%d (TRX=%d, TS=%d) prio=%d\n",
-			prio_tfi, trx, ts, max_prio);
+			"RTS for DL TFI=%d (TRX=%d, TS=%d) prio=%d mcs_mode_restrict=%s\n",
+			prio_tfi, trx, ts, max_prio, mode_name(req_mcs_kind));
 		/* next TBF to handle resource is the next one */
 		pdch->next_dl_tfi = (prio_tfi + 1) & 31;
 		/* generate DL data block */
-		msg = prio_tbf->create_dl_acked_block(fn, ts);
+		msg = prio_tbf->create_dl_acked_block(fn, ts, req_mcs_kind);
 		*is_egprs = prio_tbf->ms()->mode() != GPRS;
 	}
 
