diff --git a/.gitignore b/.gitignore
index 8211894e77b2c70b5ea836d05d27bdffbd334453..80b17c24cb4bc82bb252a6b2cd5f2d851f949226 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,9 +30,3 @@
 /aclocal.m4
 /ltmain.sh
 /ylwrap
-
-# CMake files
-/CMakeCache.txt
-/CMakeFiles
-/Makefile
-/cmake_install.cmake
diff --git a/lib/module.c b/lib/module.c
index 109f16ad98142b5c726505cb45ba3c1190af458b..c57349b106f487886fbac9e2ee196190ec781d3c 100644
--- a/lib/module.c
+++ b/lib/module.c
@@ -121,25 +121,27 @@ int kr_module_load(struct kr_module *module, const char *name, const char *path)
 	}
 
 	/* Load all symbols. */
- 	module_api_cb *module_api = NULL;
- 	auto_free char *module_prefix = kr_strcatdup(2, name, "_");
-	*(void **) (&module_api)     = load_symbol(module->lib, module_prefix, "api");
+ 	auto_free char *module_prefix = kr_strcatdup(2, name, "_");	
 	*(void **) (&module->init)   = load_symbol(module->lib, module_prefix, "init");
 	*(void **) (&module->deinit) = load_symbol(module->lib, module_prefix, "deinit");
 	*(void **) (&module->config) = load_symbol(module->lib, module_prefix, "config");
 	*(void **) (&module->layer)  = load_symbol(module->lib, module_prefix, "layer");
 
-	/* Module initializer not found, attempt to load as Go shared library. */
-	if (module_api == NULL) {
-		int ret = load_libgo(module, &module_api);
-		if (ret != 0) {
-			return ret;
+	/* API check for non-built-in libraries. */
+	if (module->lib != RTLD_DEFAULT) {
+		module_api_cb *module_api = NULL;
+		*(void **) (&module_api) = load_symbol(module->lib, module_prefix, "api");
+		if (module_api == NULL) {
+			int ret = load_libgo(module, &module_api);
+			if (ret != 0) {
+				return ret;
+			}
 		}
-	}
 
-	/* Check module API version (if declared). */
-	if (module_api && module_api() != KR_MODULE_API) {
-		return kr_error(ENOTSUP);
+		/* Check module API version (if declared). */
+		if (module_api && module_api() != KR_MODULE_API) {
+			return kr_error(ENOTSUP);
+		}
 	}
 
 	/* Initialize module */
diff --git a/platform.mk b/platform.mk
index 3720949e46580e8ff38b40b98b7fbe950a7549a8..58c2c8abf78473d72b7069feec3842f9f97297f8 100644
--- a/platform.mk
+++ b/platform.mk
@@ -90,7 +90,7 @@ endef
 # Find binary
 define find_bin
 	ifeq ($$(strip $$($(1)_BIN)),)
-		HAS_$(1) := $(shell $(1) --version >/dev/null && echo yes || echo no)
+		HAS_$(1) := $(shell $(1) --version > /dev/null 2>&1 && echo yes || echo no)
 	else
 		HAS_$(1) := yes
 		$(1) := $$($(1)_BIN)
diff --git a/tests/test_integration.c b/tests/test_integration.c
index 21d8201a0b5cf8547557600f4719d156fb6db42a..b2425b9bc8a5dffb23758b01e14c474f67bebe56 100644
--- a/tests/test_integration.c
+++ b/tests/test_integration.c
@@ -52,7 +52,6 @@ static PyObject* init(PyObject* self, PyObject* args)
 	#define CACHE_SIZE 100*1024
 	mm_ctx_init(&global_mm);
 	kr_context_init(&global_context, &global_mm);
-	kr_context_register(&global_context, "hints");
 	kr_context_register(&global_context, "iterate");
 	kr_context_register(&global_context, "itercache");
 	global_tmpdir = test_tmpdir_create();
diff --git a/tests/tests.mk b/tests/tests.mk
index 299b5eed75484cfb10b691f15ebfa0e8f2abfbdd..d6ccc6ec674a4ac7c1ef482871347c38dfa40d91 100644
--- a/tests/tests.mk
+++ b/tests/tests.mk
@@ -42,9 +42,9 @@ $(eval $(call make_shared,_test_integration,tests))
 # Preload mock library
 insert_libs := tests/libmock_calls$(LIBEXT):modules/hints/hints$(LIBEXT)
 ifeq ($(PLATFORM),Darwin)
-	preload_libs := @DYLD_FORCE_FLAT_NAMESPACE=1 DYLD_INSERT_LIBRARIES=$(insert_libs)
+	preload_libs := @DYLD_FORCE_FLAT_NAMESPACE=1 DYLD_INSERT_LIBRARIES="$(insert_libs)"
 else
-	preload_libs := @LD_PRELOAD=$(insert_libs)
+	preload_libs := @LD_PRELOAD="$(subst :, ,$(insert_libs))"
 endif
 
 # Targets