diff --git a/Lib/cgitb.py b/Lib/cgitb.py
index f75a84c..d287001 100644
--- a/Lib/cgitb.py
+++ b/Lib/cgitb.py
@@ -37,9 +37,23 @@
 </table> </table> </table> </table> </table> </font> </font> </font>'''
 
 __UNDEF__ = []                          # a special sentinel object
-def small(text): return '<small>' + text + '</small>'
-def strong(text): return '<strong>' + text + '</strong>'
-def grey(text): return '<font color="#909090">' + text + '</font>'
+def small(text):
+    if text:
+        return '<small>' + text + '</small>'
+    else:
+        return ''
+    
+def strong(text):
+    if text:
+        return '<strong>' + text + '</strong>'
+    else:
+        return ''
+    
+def grey(text):
+    if text:
+        return '<font color="#909090">' + text + '</font>'
+    else:
+        return ''
 
 def lookup(name, frame, locals):
     """Find the value for a given name in the given environment."""
@@ -88,10 +102,11 @@
     pyver = 'Python ' + sys.version.split()[0] + ': ' + sys.executable
     date = time.ctime(time.time())
     head = '<body bgcolor="#f0f0f8">' + pydoc.html.heading(
-        '<big><big><strong>%s</strong></big></big>' % str(etype),
+        '<big><big>%s</big></big>' %
+        strong(pydoc.html.escape(str(etype))),
         '#ffffff', '#6622aa', pyver + '<br>' + date) + '''
 <p>A problem occurred in a Python script.  Here is the sequence of
-function calls leading up to the error, in the order they occurred.'''
+function calls leading up to the error, in the order they occurred.</p>'''
 
     indent = '<tt>' + small('&nbsp;' * 5) + '&nbsp;</tt>'
     frames = []
@@ -142,7 +157,7 @@
                 dump.append(name + ' <em>undefined</em>')
 
         rows.append('<tr><td>%s</td></tr>' % small(grey(', '.join(dump))))
-        frames.append('''<p>
+        frames.append('''
 <table width="100%%" cellspacing=0 cellpadding=0 border=0>
 %s</table>''' % '\n'.join(rows))
 
