diff --git a/Allura/allura/lib/app_globals.py b/Allura/allura/lib/app_globals.py
index bb00d09..2d62c7e 100644
--- a/Allura/allura/lib/app_globals.py
+++ b/Allura/allura/lib/app_globals.py
@@ -45,7 +45,8 @@
     def convert(self, source):
         try:
             return markdown.Markdown.convert(self, source)
-        except:    
+        except Exception as e:
+            log.info('Invalid markdown: %s %s', e, source)
             escaped = h.really_unicode(source)
             escaped = cgi.escape(escaped)
             return h.html.literal(u"""<p><strong>ERROR!</strong> The markdown supplied could not be parsed correctly.
diff --git a/Allura/allura/templates/widgets/project_summary.html b/Allura/allura/templates/widgets/project_summary.html
index 6cb9839..22e3327 100644
--- a/Allura/allura/templates/widgets/project_summary.html
+++ b/Allura/allura/templates/widgets/project_summary.html
@@ -1,35 +1,31 @@
 {% if display_mode == 'list' %}
 <div class="list card{% if show_proj_icon%} proj_icon{% endif %}"
 	{%- if columns == 2 %} style="width: 330px"{% elif columns == 3 %} style="width: 220px"{% endif %}>
-  {% if accolades and show_awards_banner == True %}
+  {% if accolades and show_awards_banner %}
     <div class="box notch sponsor">
       <div class="feature">{{accolades[0].award.short}}</div>
-      {% if show_proj_icon == True and icon_url %}<img src="{{icon_url}}" alt="{{value.name}} Logo"/>{% endif %}
+      {% if show_proj_icon and icon_url %}<img src="{{icon_url}}" alt="{{value.name}} Logo"/>{% endif %}
     </div>
-  {% else %}
-    {% if show_proj_icon == True and icon_url %}
+  {% elif show_proj_icon and icon_url %}
     <div class="box">
       <img src="{{icon_url}}" alt="{{value.name}} Logo"/>
     </div>
-    {% endif %}
   {% endif %}
   <h2><a href="{{value.url()}}">{{value.name}}</a></h2>
   <p class="desc">{% if value.summary %}{{value.summary}}{% else %}{{h.text.truncate(value.short_description, 50)}}{% endif %}</p>
-  {% if show_download_button == True %}{{g.markdown_wiki.convert('[[download_button]]')}}{% endif %}
+  {% if show_download_button %}{{g.markdown_wiki.convert('[[download_button]]')}}{% endif %}
 </div>
 {% else %}
   <div class="border card">
-    {% if accolades and show_awards_banner == True %}
+    {% if accolades and show_awards_banner %}
       <div class="box notch sponsor">
         <div class="feature">{{accolades[0].award.short}}</div>
-        {% if show_proj_icon == True and icon_url %}<img src="{{icon_url}}" alt="{{value.name}} Logo"/>{% endif %}
+        {% if show_proj_icon and icon_url %}<img src="{{icon_url}}" alt="{{value.name}} Logo"/>{% endif %}
       </div>
-    {% else %}
-      {% if show_proj_icon == True and icon_url %}
+    {% elif show_proj_icon and icon_url %}
       <div class="box">
         <img src="{{icon_url}}" alt="{{value.name}} Logo"/>
       </div>
-      {% endif %}
     {% endif %}
     <h2><a href="{{value.url()}}">{{value.name}}</a></h2>
     <p class="desc">{% if value.summary %}{{value.summary}}{% else %}{{h.text.truncate(value.short_description, 50)}}{% endif %}</p>
