diff --git a/targets/RT/USER/lte-enb.c b/targets/RT/USER/lte-enb.c
index c8c35cf2e88d57cf20f61182df6fc4b492405fdd..5dcb84d63c9ae8320aa85e3fa67cff93f11c6bac 100644
--- a/targets/RT/USER/lte-enb.c
+++ b/targets/RT/USER/lte-enb.c
@@ -1031,8 +1031,10 @@ void kill_eNB_proc(int inst) {
     proc = &eNB->proc;
     proc_rxtx = &proc->proc_rxtx[0];
 
-    kill_td_thread(eNB);
-    kill_te_thread(eNB);
+    if(get_nprocs() > 2 && codingw) {
+      kill_td_thread(eNB);
+      kill_te_thread(eNB);
+    }
     LOG_I(PHY, "Killing TX CC_id %d inst %d\n", CC_id, inst );
     for (i=0; i<2; i++) {
       pthread_mutex_lock(&proc_rxtx[i].mutex_rxtx);