diff --git a/gstlal-inspiral/bin/gstlal_inspiral_lvalert_psd_plotter b/gstlal-inspiral/bin/gstlal_inspiral_lvalert_psd_plotter
index 2b5e7b277db235c3100e1d0469c5dbe90b8c6a5d..7df1194fc7837cf3a78da7cec3dd3d5d1eb7b70c 100755
--- a/gstlal-inspiral/bin/gstlal_inspiral_lvalert_psd_plotter
+++ b/gstlal-inspiral/bin/gstlal_inspiral_lvalert_psd_plotter
@@ -126,11 +126,14 @@ if not graceids:
 	lvalert_data = json.loads(sys.stdin.read())
 	logging.info("%(alert_type)s-type alert for event %(uid)s" % lvalert_data)
 	logging.info("lvalert data: %s" % repr(lvalert_data))
-	filename = os.path.split(urlparse.urlparse(lvalert_data["data"]["filename"]).path)[-1]
-	if filename not in (u"psd.xml.gz",):
-		logging.info("filename is not 'psd.xml.gz'.  skipping")
-		sys.exit()
-	graceids = [str(lvalert_data["uid"])]
+	if "filename" in lvalert_data["data"]:
+	    filename = os.path.split(urlparse.urlparse(lvalert_data["data"]["filename"]).path)[-1]
+	    if filename not in (u"psd.xml.gz",):
+		    logging.info("filename is not 'psd.xml.gz'.  skipping")
+		    sys.exit()
+	    graceids = [str(lvalert_data["uid"])]
+    else:
+        logging.info("json key filename not in lvalert data, skipping)
 
 
 gracedb_client = gracedb.GraceDb(service_url = options.gracedb_service_url)