diff --git a/avrdude.1 b/avrdude.1
index 39cefadc..40df169f 100644
--- a/avrdude.1
+++ b/avrdude.1
@@ -45,7 +45,7 @@
 .Op Fl m Ar memtype
 .Op Fl o Ar filename
 .Op Fl n
-.Op Fl P Ar parallel
+.Op Fl P Ar port
 .Op Fl t
 .Op Fl v
 .Op Fl V
@@ -298,12 +298,14 @@ to write to
 .It Fl P Ar port
 Use
 .Ar port
-as the
-.Xr ppi 4
-device to communicate with, instead of the default
-.Pa /dev/ppi0 .
-If you are using the STK500 programmer, use this option to specify
-which serial port to use.
+to identify the device to which the programmer is attached.  By
+default the
+.Pa /dev/ppi0
+port is used, but if the programmer type normally connects to the
+serial port, the
+.Pa /dev/cuaa0
+port is the default.  If you need to use a different parallel or
+serial port, use this option to specify the alternate port name.
 .It Fl t
 Tells
 .Nm
diff --git a/main.c b/main.c
index 00afc71d..68d0c333 100644
--- a/main.c
+++ b/main.c
@@ -515,6 +515,11 @@ int main(int argc, char * argv [])
     switch (ch) {
       case 'c': /* pin configuration */
         pinconfig = optarg;
+        if (strcmp(pinconfig, "stk500") == 0) {
+          if (port == DEFAULT_PARALLEL) {
+            port = DEFAULT_SERIAL;
+          }
+        }
         break;
 
       case 'C': /* pin configuration file */