diff --git a/Mac/Modules/launch/_Launchmodule.c b/Mac/Modules/launch/_Launchmodule.c
index 165e45c..cb3007f 100644
--- a/Mac/Modules/launch/_Launchmodule.c
+++ b/Mac/Modules/launch/_Launchmodule.c
@@ -57,34 +57,6 @@
 
 static PyObject *Launch_Error;
 
-static PyObject *Launch_LSInit(PyObject *_self, PyObject *_args)
-{
-	PyObject *_res = NULL;
-	OSStatus _err;
-	LSInitializeFlags inFlags;
-	if (!PyArg_ParseTuple(_args, "l",
-	                      &inFlags))
-		return NULL;
-	_err = LSInit(inFlags);
-	if (_err != noErr) return PyMac_Error(_err);
-	Py_INCREF(Py_None);
-	_res = Py_None;
-	return _res;
-}
-
-static PyObject *Launch_LSTerm(PyObject *_self, PyObject *_args)
-{
-	PyObject *_res = NULL;
-	OSStatus _err;
-	if (!PyArg_ParseTuple(_args, ""))
-		return NULL;
-	_err = LSTerm();
-	if (_err != noErr) return PyMac_Error(_err);
-	Py_INCREF(Py_None);
-	_res = Py_None;
-	return _res;
-}
-
 static PyObject *Launch_LSCopyItemInfoForRef(PyObject *_self, PyObject *_args)
 {
 	PyObject *_res = NULL;
@@ -347,10 +319,6 @@
 }
 
 static PyMethodDef Launch_methods[] = {
-	{"LSInit", (PyCFunction)Launch_LSInit, 1,
-	 PyDoc_STR("(LSInitializeFlags inFlags) -> None")},
-	{"LSTerm", (PyCFunction)Launch_LSTerm, 1,
-	 PyDoc_STR("() -> None")},
 	{"LSCopyItemInfoForRef", (PyCFunction)Launch_LSCopyItemInfoForRef, 1,
 	 PyDoc_STR("(FSRef inItemRef, LSRequestedInfo inWhichInfo) -> (LSItemInfoRecord outItemInfo)")},
 	{"LSCopyItemInfoForURL", (PyCFunction)Launch_LSCopyItemInfoForURL, 1,
diff --git a/Mac/Modules/launch/launchscan.py b/Mac/Modules/launch/launchscan.py
index 8dd6dfd..8d0f3e9 100644
--- a/Mac/Modules/launch/launchscan.py
+++ b/Mac/Modules/launch/launchscan.py
@@ -44,6 +44,8 @@
 
 	def makeblacklistnames(self):
 		return [
+			"LSInit",
+			"LSTerm",
 			"kLSRequestAllInfo",
 			"kLSRolesAll",
 			]
