diff --git a/gracedb/search/query/superevents.py b/gracedb/search/query/superevents.py
index a0194fa8ee681b847022fb96df8ca8292566ebb4..c5277c591ba696ddbba0f7ea0ddef034e710196d 100644
--- a/gracedb/search/query/superevents.py
+++ b/gracedb/search/query/superevents.py
@@ -37,6 +37,12 @@ def parse_superevent_id(name, toks, filter_prefix=None):
         if (toks.prefix == Superevent.GW_ID_PREFIX):
             toks.suffix = toks.suffix.upper()
 
+    # Allow flexible suffix capitalization
+    if (toks.prefix == Superevent.GW_ID_PREFIX):
+        toks.suffix = toks.suffix.upper()
+    else:
+        toks.suffix = toks.suffix.lower()
+
     # Combine into full ID and get lookup kwargs
     s_id = toks.preprefix + toks.prefix + toks.date + toks.suffix
     f_kwargs = Superevent.get_filter_kwargs_for_date_id_lookup(s_id)
diff --git a/gracedb/search/tests/test_queries.py b/gracedb/search/tests/test_queries.py
index b255275b39b8382cd6b4726b08a4e55bde727435..e6c75a0900cb1a6f103b3d60c4c4628bdca6155a 100644
--- a/gracedb/search/tests/test_queries.py
+++ b/gracedb/search/tests/test_queries.py
@@ -43,6 +43,10 @@ SUPEREVENT_QUERY_TEST_DATA = [
     ("", DEFAULT_Q),
     ("id: S190509bc",
         Q(**Superevent.get_filter_kwargs_for_date_id_lookup("S190509bc"))),
+    ("id: Tgw190331eBz",
+        Q(**Superevent.get_filter_kwargs_for_date_id_lookup("TGW190331EBZ"))),
+    ("id: ms190331BCdE",
+        Q(**Superevent.get_filter_kwargs_for_date_id_lookup("MS190331bcde"))),
     ("superevent_id: S190509bc",
         Q(**Superevent.get_filter_kwargs_for_date_id_lookup("S190509bc"))),
     ("S190509bc",