diff --git a/gracedb/forms.py b/gracedb/forms.py
index 8ada820fe9542f1519bd275674b4efab8ad5830b..650b9d779731213c15a82f2ac74325eddfe235af 100644
--- a/gracedb/forms.py
+++ b/gracedb/forms.py
@@ -1,9 +1,19 @@
 
 from django import forms
+from django.utils.safestring import mark_safe
+from django.utils.html import escape
 from models import Event, User, Group, Label
 
 from query import parseQuery, ParseException
 
+htmlEntityStar = "★"
+htmlEntityRightPointingHand = "☞"
+htmlEntitySkullAndCrossbones = "☠"
+htmlEntityTriangularBuller = "‣"
+htmlEntityRightArrow = "→"
+
+errorMarker = '<span style="color:red;">'+htmlEntityStar+'</span>'
+
 class GraceQueryField(forms.CharField):
     def clean(self, queryString):
         from django.db.models import Q
@@ -11,7 +21,8 @@ class GraceQueryField(forms.CharField):
         try:
             return parseQuery(queryString)
         except ParseException, e:
-            raise forms.ValidationError("Error near (*): "+ e.markInputline("(*)"))
+            err = "Error: " + escape(e.pstr[:e.loc]) + errorMarker + escape(e.pstr[e.loc:])
+            raise forms.ValidationError(mark_safe(err))
         except Exception, e:
             # What could this be and how can we handle it better? XXX
             raise forms.ValidationError(str(e))