diff --git a/gstlal/python/pipeparts/__init__.py b/gstlal/python/pipeparts/__init__.py
index cb115aedb36d9f390348d5a200f798affdfd2fe8..9bea15ca1b8d2ae2ef167b484497bfcd2cc12d09 100644
--- a/gstlal/python/pipeparts/__init__.py
+++ b/gstlal/python/pipeparts/__init__.py
@@ -93,6 +93,9 @@ def mkgeneric(pipeline, src, elem_type_name, **properties):
 		elem = Gst.ElementFactory.make(elem_type_name, None)
 	if elem is None:
 		raise RuntimeError("unknown failure creating \"%s\" element: confirm that the correct plugins are being loaded" % elem_type_name)
+	# handle properties with names that collide with reserved keywords
+	if "async_" in properties:
+		properties["async"] = properties.pop("async_")
 	for name, value in properties.items():
 		elem.set_property(name.replace("_", "-"), value)
 	pipeline.add(elem)
@@ -399,8 +402,9 @@ def mkframecppfilesink(pipeline, src, message_forward = True, **properties):
 
 
 ## Adds a <a href="@gstpluginsgooddoc/gst-plugins-good-plugins-multifilesink.html">multifilesink</a> element to a pipeline with useful default properties
-def mkmultifilesink(pipeline, src, next_file = 0, sync = False, async = False, **properties):
-	return mkgeneric(pipeline, src, "multifilesink", next_file = next_file, sync = sync, async = async, **properties)
+def mkmultifilesink(pipeline, src, next_file = 0, sync = False, async_ = False, **properties):
+	properties["async"] = async_
+	return mkgeneric(pipeline, src, "multifilesink", next_file = next_file, sync = sync, **properties)
 
 
 def mkndssrc(pipeline, host, instrument, channel_name, channel_type, blocksize = 16384 * 8 * 1, port = 31200):
@@ -653,12 +657,12 @@ def mkautochisq(pipeline, src, autocorrelation_matrix = None, mask_matrix = None
 
 ## Adds a <a href="@gstdoc/gstreamer-plugins-fakesink.html">fakesink</a> element to a pipeline with useful default properties
 def mkfakesink(pipeline, src):
-	return mkgeneric(pipeline, src, "fakesink", sync = False, async = False)
+	return mkgeneric(pipeline, src, "fakesink", sync = False, **{"async": False})
 
 
 ## Adds a <a href="@gstdoc/gstreamer-plugins-filesink.html">filesink</a> element to a pipeline with useful default properties
-def mkfilesink(pipeline, src, filename, sync = False, async = False):
-	return mkgeneric(pipeline, src, "filesink", sync = sync, async = async, buffer_mode = 2, location = filename)
+def mkfilesink(pipeline, src, filename, sync = False, async_ = False):
+	return mkgeneric(pipeline, src, "filesink", sync = sync, buffer_mode = 2, location = filename, **{"async": async_})
 
 
 ## Adds a <a href="@gstlalgtkdoc/GstTSVEnc.html">lal_nxydump</a> element to a pipeline with useful default properties
@@ -693,7 +697,7 @@ def mktriggergen(pipeline, snr, chisq, template_bank_filename, snr_threshold, si
 
 
 def mktriggerxmlwritersink(pipeline, src, filename):
-	return mkgeneric(pipeline, src, "lal_triggerxmlwriter", sync = False, async = False, location = filename)
+	return mkgeneric(pipeline, src, "lal_triggerxmlwriter", location = filename, sync = False, **{"async": False})
 
 
 ## Adds a <a href="@gstpluginsgooddoc/gst-plugins-good-plugins-wavenc.html">wavenc</a> element to a pipeline with useful default properties
@@ -788,8 +792,9 @@ def mkdeglitcher(pipeline, src, segment_list):
 # FIXME no specific alias for this url since this library only has one element.
 # DO NOT DOCUMENT OTHER CODES THIS WAY! Use @gstdoc @gstpluginsbasedoc etc.
 ## Adds a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gstreamer-app.html">appsink</a> element to a pipeline with useful default properties
-def mkappsink(pipeline, src, max_buffers = 1, drop = False, sync = False, async = False, **properties):
-	return mkgeneric(pipeline, src, "appsink", sync = sync, async = async, emit_signals = True, max_buffers = max_buffers, drop = drop, **properties)
+def mkappsink(pipeline, src, max_buffers = 1, drop = False, sync = False, async_ = False, **properties):
+	properties["async"] = async_
+	return mkgeneric(pipeline, src, "appsink", sync = sync, emit_signals = True, max_buffers = max_buffers, drop = drop, **properties)
 
 
 class AppSync(object):