diff -Naur bayonne-1.2.14/drivers/dialogic/trunk.cpp bayonne-1.2.14.after/drivers/dialogic/trunk.cpp
--- bayonne-1.2.14/drivers/dialogic/trunk.cpp	2004-10-27 12:04:58.000000000 +0200
+++ bayonne-1.2.14.after/drivers/dialogic/trunk.cpp	2005-02-26 16:51:32.000000000 +0100
@@ -579,6 +579,11 @@
 	bool rtn = true;
 	trunkhandler_t prior;
 
+	if (event->id == TRUNK_START_SCRIPT) {
+		if (handler != &DialogicTrunk::idleHandler) {
+			return false;
+		}
+	}
 	enterMutex();
 	switch(event->id)
 	{
diff -Naur bayonne-1.2.14/drivers/globalcall/trunk.cpp bayonne-1.2.14.after/drivers/globalcall/trunk.cpp
--- bayonne-1.2.14/drivers/globalcall/trunk.cpp	2005-01-26 11:43:29.000000000 +0100
+++ bayonne-1.2.14.after/drivers/globalcall/trunk.cpp	2005-02-26 16:50:55.000000000 +0100
@@ -500,6 +500,11 @@
 	bool rtn = true;
 	trunkhandler_t prior;
 
+	if (event->id == TRUNK_START_SCRIPT) {
+		if (handler != &DialogicTrunk::idleHandler) {
+			return false;
+		}
+	}
 	enterMutex();
 	switch(event->id)
 	{
diff -Naur bayonne-1.2.14/server/script.cpp bayonne-1.2.14.after/server/script.cpp
--- bayonne-1.2.14/server/script.cpp	2004-10-27 12:04:59.000000000 +0200
+++ bayonne-1.2.14.after/server/script.cpp	2005-02-26 16:49:05.000000000 +0100
@@ -3352,7 +3352,10 @@
 
 	if(start)
 	{
-		fifo.command(args);
+		if (!fifo.command(args)) {
+			error("start-failed");
+			return true;
+		}
 		return rtn;
 	}
 
