diff --git a/gracedb/forms.py b/gracedb/forms.py
index e0c4f3059bec4a45fb64c4cda651fb063c6fcafe..65a958dd2c205725f581defcbb5a141085050ea9 100644
--- a/gracedb/forms.py
+++ b/gracedb/forms.py
@@ -1,6 +1,6 @@
 
 from django import forms
-from models import Event, User, Group
+from models import Event, User, Group, Label
 
 class CreateEventForm(forms.Form):
     groupChoices = [("","")]+[(g.name, g.name) for g in Group.objects.all()]
@@ -12,11 +12,16 @@ class CreateEventForm(forms.Form):
 
 class EventSearchForm(forms.Form):
     groupChoices = [("","")]+[(g.name, g.name) for g in Group.objects.all()]
+
     typeChoices= [("","")]+list(Event.ANALYSIS_TYPE_CHOICES)
+
     submitterIds = Event.objects.values_list('submitter',flat=True).distinct()
     submitterList = User.objects.filter(id__in=submitterIds).order_by('name')
     submitterChoices = [("","")]+ [ (u.id, u.name) for u in submitterList]
 
+    labelChoices = [ ("hi%d"%n,"bye%d"%n) for n in [1,2,3]]
+    labelChoices = [ (label.id, label.name) for label in Label.objects.all() ]
+
     graceidStart = forms.CharField(required=False)
     graceidEnd = forms.CharField(required=False)
     group = forms.ChoiceField(choices=groupChoices, required=False)
@@ -25,3 +30,4 @@ class EventSearchForm(forms.Form):
     gpsEnd = forms.IntegerField(min_value=0, required=False, label="GPS End")
     submitter = forms.ChoiceField(choices=submitterChoices, required=False)
 
+    labels = forms.MultipleChoiceField(choices=labelChoices, required=False)
diff --git a/gracedb/views.py b/gracedb/views.py
index 88c50d52381c9847b3059025e334321ba8f0fe1a..27b6fac376544e602efd2749be7745a3e8d413b0 100644
--- a/gracedb/views.py
+++ b/gracedb/views.py
@@ -355,6 +355,7 @@ def search(request):
             submitter = form.cleaned_data['submitter']
             groupname = form.cleaned_data['group']
             typename = form.cleaned_data['type']
+            labels = form.cleaned_data['labels']
             gpsStart =  form.cleaned_data['gpsStart']
             gpsEnd =  form.cleaned_data['gpsEnd']
 
@@ -399,6 +400,9 @@ def search(request):
             if typename:
                 objects = objects.filter(analysisType=typename)
 
+            if labels:
+                objects = objects.filter(labels__in=labels)
+
             return object_list(request, objects, extra_context={'title':"Query Results"})
 
 
diff --git a/templates/gracedb/query.html b/templates/gracedb/query.html
index 6f859dab588048efc2c3e6457f4e7806d8ef7f31..71bbf971ea3f1e9489a543ba162e909cd645140b 100644
--- a/templates/gracedb/query.html
+++ b/templates/gracedb/query.html
@@ -1,7 +1,7 @@
 {% extends "base.html" %}
 
-{% block title %}Query{% endblock %}
-{% block heading %}Query{% endblock %}
+{% block title %}Search{% endblock %}
+{% block heading %}Search{% endblock %}
 {% block pageid %}search{% endblock %}
 
 {% block content %}
@@ -12,5 +12,5 @@
 <tr><td></td><td><input type="Submit"/></td></tr>
 </table>
 </form>
-    
+
 {% endblock %}