diff --git a/en_US.ISO8859-1/htdocs/cgi/man.cgi b/en_US.ISO8859-1/htdocs/cgi/man.cgi
index c45b3b1267..378daa2bb4 100755
--- a/en_US.ISO8859-1/htdocs/cgi/man.cgi
+++ b/en_US.ISO8859-1/htdocs/cgi/man.cgi
@@ -1644,25 +1644,14 @@ sub encode_data {
s/\\<\;/g;
s/\>/\>\;/g;
- s,((_\010[^_])+),($str = $1) =~ s/.\010//g; "$str";,ge;
- s,((.\010.)+),($str = $1) =~ s/.\010//g; "$str";,ge;
+ # underline: _^H.^H(.)
+ s,((_\010[^_]\010.)+),($str = $1) =~ s/_\010..//g; "$str";,ge;
- #s,((_\010.)+),($str = $1) =~ s/.\010//g; "$str";,ge;
- #s,(.\010)+,$1,g;
- #if (!s,((.\010.)+\s+(.\010.)+),($str = $1) =~ s/.\010//g; "$str";,ge) {
- # s,(([^_]\010.)+),($str = $1) =~ s/[^_]\010//g; "$str";,ge;
- # s,(([_]\010.)+),($str = $1) =~ s/[_]\010//g; "$str";,ge;
- #}
- # Escape binary data except for ^H which we process below
- # \375 gets turned into the & for the entity reference
- #s/([^\010\012\015\032-\176])/sprintf('\375#%03d;',ord($1))/eg;
- # Process ^H sequences, we use \376 and \377 (already escaped
- # above) to stand in for < and > until those characters can
- # be properly escaped below.
- #s,\376[IB]\377_\376/[IB]\377,,g;
- #s/.[\b]//g; # just do an erase for anything else
- # Now convert our magic chars into our tag markers
- #s/\375/\&/g; s/\376//g;
+ # italic: _^H(.)
+ s,((_\010[^_])+),($str = $1) =~ s/.\010//g; "$str";,ge;
+
+ # bold: .^H(.)
+ s,(([^_]\010.)+),($str = $1) =~ s/.\010//g; "$str";,ge;
# cleanup all the rest
s,.\010,,g;