diff -ru minicom-2.3.orig/extras/scriptdemo minicom-2.3/extras/scriptdemo
--- minicom-2.3.orig/extras/scriptdemo	2003-03-30 21:55:39.000000000 +0300
+++ minicom-2.3/extras/scriptdemo	2008-04-20 05:27:19.000000000 +0300
@@ -1,5 +1,5 @@
 # A little demonstration of the possibilities of "runscript".
-# This script can be executed by typing: "runscript scriptdemo".
+# This script can be executed by typing: "/usr/bin/runscript scriptdemo".
 #
 # Adjust the stty's below to your system: BSD-like or SysV-like.
 # Linux ofcourse accepts both :-)
diff -ru minicom-2.3.orig/man/minicom.1 minicom-2.3/man/minicom.1
--- minicom-2.3.orig/man/minicom.1	2008-02-24 12:22:43.000000000 +0200
+++ minicom-2.3/man/minicom.1	2008-04-20 05:27:19.000000000 +0300
@@ -418,7 +418,7 @@
 .TP 0.5i
 .B D - Script program
 Which program to use as the script interpreter. Defaults to the
-program "runscript", but if you want to use something else (eg,
+program "/usr/bin/runscript", but if you want to use something else (eg,
 /bin/sh or "expect") it is possible.  Stdin and stdout are connected
 to the modem, stderr to the screen.
 .RS 0.5i
diff -ru minicom-2.3.orig/man/runscript.1 minicom-2.3/man/runscript.1
--- minicom-2.3.orig/man/runscript.1	2007-11-13 23:35:06.000000000 +0200
+++ minicom-2.3/man/runscript.1	2008-04-20 05:27:19.000000000 +0300
@@ -5,7 +5,7 @@
 .\" for conditions under which this file may be redistributed.
 .TH RUNSCRIPT 1 "$Date: 2008/04/20 02:39:28 $" "User's Manual"
 .SH NAME
-runscript \- script interpreter for minicom
+/usr/bin/runscript \- script interpreter for minicom
 .SH SYNOPSIS
 .B runscript
 .RI "scriptname [logfile [homedir]]"
diff -ru minicom-2.3.orig/src/rwconf.c minicom-2.3/src/rwconf.c
--- minicom-2.3.orig/src/rwconf.c	2007-10-10 23:18:20.000000000 +0300
+++ minicom-2.3/src/rwconf.c	2008-04-20 05:27:19.000000000 +0300
@@ -118,7 +118,7 @@
   { N_("No"),		0,  "kermreal" },
   { "3",		0,   "colusage" },
   /* The script program */
-  { "runscript",	0,   "scriptprog" },
+  { "/usr/bin/runscript",	0,   "scriptprog" },
   /* Modem parameters */
   { "~^M~AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0^M",   0,   "minit" },
   { "^M~ATZ^M~",	0,   "mreset" },
@@ -246,7 +246,7 @@
   int matched;
 
   if (conftype == CONFIG_GLOBAL)
-    strcpy(P_SCRIPTPROG, "runscript");
+    strcpy(P_SCRIPTPROG, "/usr/bin/runscript");
 
   line = malloc(line_size);
   if (!line) {
