diff --git a/smi/src/taskdisp_nrt.c b/smi/src/taskdisp_nrt.c
index 931eec98dc8e982427f4f20483b36c2b3770405b..09f476f732dbfafa522f9aaa800f01d76c427e53 100644
--- a/smi/src/taskdisp_nrt.c
+++ b/smi/src/taskdisp_nrt.c
@@ -103,10 +103,12 @@ void killProcess_(processType nrtProcessID)
 	) {
 		printf("[killProcess_] killing process %lld nrtProcessID=%d\n",
 			(long long int)shm->pid[nrtProcessID],nrtProcessID); 
-//		sprintf(str,"kill -9 %lld\n",(long long int)shm->pid[nrtProcessID]);
-// kill also child procresses
+// kill child procresses
 		sprintf(str,"pkill -9 -P %lld\n",(long long int)shm->pid[nrtProcessID]);
 		ret=system(str);
+// kill parent process
+		sprintf(str,"kill -9 %lld\n",(long long int)shm->pid[nrtProcessID]);
+		ret=system(str);
                 ret=ret; // eliminate compiler warning
 		usleep(STD_SLEEP); // possibly longer sleep time required
 	for (i=0;i<shm->numberOfTaskStates;i++) {