diff --git a/openbsc/include/openbsc/abis_rsl.h b/openbsc/include/openbsc/abis_rsl.h
index 100a6d1..6ff8382 100644
--- a/openbsc/include/openbsc/abis_rsl.h
+++ b/openbsc/include/openbsc/abis_rsl.h
@@ -106,5 +106,7 @@
 
 int rsl_direct_rf_release(struct gsm_lchan *lchan);
 
+void dyn_pdch_init(struct gsm_bts_trx_ts *ts);
+
 #endif /* RSL_MT_H */
 
diff --git a/openbsc/src/libbsc/Makefile.am b/openbsc/src/libbsc/Makefile.am
index 8fa5c7c..48880d9 100644
--- a/openbsc/src/libbsc/Makefile.am
+++ b/openbsc/src/libbsc/Makefile.am
@@ -23,5 +23,6 @@
 			bsc_init.c bts_init.c bsc_rf_ctrl.c \
 			arfcn_range_encode.c bsc_ctrl_commands.c \
 			bsc_ctrl_lookup.c \
-			net_init.c
+			net_init.c \
+			bsc_dyn_pdch.c
 
diff --git a/openbsc/src/libbsc/bsc_dyn_pdch.c b/openbsc/src/libbsc/bsc_dyn_pdch.c
new file mode 100644
index 0000000..717880b
--- /dev/null
+++ b/openbsc/src/libbsc/bsc_dyn_pdch.c
@@ -0,0 +1,42 @@
+/* Dynamic PDCH initialisation implementation shared across NM and RSL */
+
+/* (C) 2016 by sysmocom s.f.m.c. GmbH <info@sysmocom.de>
+ * All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include <osmocom/core/logging.h>
+#include <openbsc/debug.h>
+#include <openbsc/gsm_data.h>
+#include <openbsc/abis_rsl.h>
+
+void dyn_pdch_init(struct gsm_bts_trx_ts *ts)
+{
+	int rc;
+
+	if (ts->pchan == GSM_PCHAN_TCH_F_PDCH) {
+		LOGP(DRSL, LOGL_DEBUG, "trying to PDCH ACT on"
+		     " BTS %u TRX %u TS %u\n",
+		     ts->trx->bts->nr, ts->trx->nr, ts->nr);
+		rc = rsl_ipacc_pdch_activate(ts, 1);
+		if (rc != 0) {
+			LOGP(DRSL, LOGL_ERROR,
+			     "Failed to activate PDCH on"
+			     " BTS %u TRX %u TS %u: %d\n",
+			     ts->trx->bts->nr, ts->trx->nr, ts->nr, rc);
+		}
+	}
+}
diff --git a/openbsc/src/libbsc/bsc_init.c b/openbsc/src/libbsc/bsc_init.c
index 04452f7..5c27862 100644
--- a/openbsc/src/libbsc/bsc_init.c
+++ b/openbsc/src/libbsc/bsc_init.c
@@ -329,10 +329,8 @@
 			llist_for_each_entry(cur_trx, &trx->bts->trx_list, list) {
 				int i;
 
-				for (i = 0; i < ARRAY_SIZE(cur_trx->ts); i++) {
+				for (i = 0; i < ARRAY_SIZE(cur_trx->ts); i++)
 					generate_ma_for_ts(&cur_trx->ts[i]);
-					cur_trx->ts[i].flags |= TS_F_PDCH_MODE;
-				}
 			}
 		}
 		if (isd->link_type == E1INP_SIGN_RSL)
diff --git a/openbsc/src/libbsc/bts_ipaccess_nanobts.c b/openbsc/src/libbsc/bts_ipaccess_nanobts.c
index dfb5a45..89d5256 100644
--- a/openbsc/src/libbsc/bts_ipaccess_nanobts.c
+++ b/openbsc/src/libbsc/bts_ipaccess_nanobts.c
@@ -369,6 +369,9 @@
 			abis_nm_opstart(trx->bts, obj_class,
 					trx->bts->bts_nr, trx->nr, ts->nr);
 		}
+		if (new_state->operational == NM_OPSTATE_ENABLED
+		    && new_state->availability == NM_AVSTATE_OK)
+			dyn_pdch_init(ts);
 		break;
 	case NM_OC_RADIO_CARRIER:
 		trx = obj;
