--- a/pppd/main.c
+++ b/pppd/main.c
@@ -1048,7 +1048,8 @@ get_input()
 	}
 	notice("Modem hangup");
 	hungup = 1;
-	status = EXIT_HANGUP;
+	if (status == EXIT_OK)
+		status = EXIT_HANGUP;
 	lcp_lowerdown(0);	/* serial link is no longer available */
 	link_terminated(0);
 	return;