diff --git a/deps/Makefile.am b/deps/Makefile.am
index 137a7d584485f4ab5d9ba53d531ea6872e97ecc4..2606c2e2a40e45e71c93d8ecf541bf737f989897 100644
--- a/deps/Makefile.am
+++ b/deps/Makefile.am
@@ -38,6 +38,16 @@ EXTRA_DIST = protobuf protobuf-c mio
 # user's system
 install installdirs uninstall: SUBDIRS = 
 
+# but use mamba installation to ensure we get all headers
+install-exec-local: all
+install-data-local:
+	make -C mamba/common includedir=${pkgincludedir} install-nobase_includeHEADERS
+	make -C mamba/memory includedir=${pkgincludedir} install-nobase_includeHEADERS
+
+uninstall-local:
+	cd deps/mamba/common && make uninstall-nobase_includeHEADERS
+	cd deps/mamba/memory && make uinstall-nobase_includeHEADERS
+
 dist-hook: dist-clean-protobuf dist-clean-protobuf-c dist-clean-mio
 
 dist-clean-protobuf:
diff --git a/include/Makefile.am b/include/Makefile.am
index b327ba4e06baec19cd18b68e70e2f0481fdf1c39..dd8e6401c9cf717e2904bcfd82cc1f0dbf999405 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -50,22 +50,8 @@ coreinclude_HEADERS =        \
 	maestro/env.h        \
 	maestro/logging.h
 
-# add mamba public headers
-mambaincludedir = $(pkgincludedir)
-mambainclude_HEADERS = \
-	$(top_srcdir)/deps/mamba/common/mamba.h \
-	$(top_srcdir)/deps/mamba/common/mmb_dimensions.h \
-	$(top_srcdir)/deps/mamba/common/mmb_error.h \
-	$(top_srcdir)/deps/mamba/common/mmb_index.h \
-	$(top_srcdir)/deps/mamba/common/mmb_layout.h \
-	$(top_srcdir)/deps/mamba/common/mmb_logging.h \
-	$(top_srcdir)/deps/mamba/common/mmb_options.h \
-	$(top_srcdir)/deps/mamba/common/mmb_set.h \
-	$(top_srcdir)/deps/mamba/common/mmb_tile.h \
-	$(top_srcdir)/deps/mamba/common/mmb_tile_iterator.h \
-	$(top_srcdir)/deps/mamba/memory/mmb_memory.h \
-	$(top_srcdir)/deps/mamba/memory/mmb_memory_options.h 
-
+# mamba public headers are installed alongside maestro.h, but by a target in
+# deps/Makefile.am
 
 
 noinst_HEADERS = \