diff --git a/senfscons/SatSCons.py b/senfscons/SatSCons.py
index 6c8bcc90093deff004d9c6ca9fa7a615753cb5cd..bed67e0bf7f342438669f0bc469a698e4055cc7b 100644
--- a/senfscons/SatSCons.py
+++ b/senfscons/SatSCons.py
@@ -160,6 +160,16 @@ def DoxyGlob(exclude=[]):
 
 def Doxygen(env, doxyfile="Doxyfile", extra_sources = []):
     docs = env.Doxygen(doxyfile)
+    # The last target is the (optional) tagfile
+    if os.path.basename(str(docs[-1])) != '.stamp':
+        # Postprocess the tag file to remove the (broken) namespace
+        # references
+        env.AddPostAction(
+            docs,
+            env.Action([ "xsltproc -o ${TARGETS[-1]}.temp %s ${TARGETS[-1]}"
+                         % os.path.join(basedir,"tagmunge.xsl"),
+                         "mv ${TARGETS[-1]}.temp ${TARGETS[-1]}" ]))
+        env.Clean(docs[-1],"$TARGET.temp")
     env.Depends(docs,extra_sources)
     env.Alias('all_docs', *docs)
     return docs
diff --git a/senfscons/tagmunge.xsl b/senfscons/tagmunge.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..67f1f3d004e8ef38db9a6ea4b7d317fb9e256de8
--- /dev/null
+++ b/senfscons/tagmunge.xsl
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                version="1.0">
+  
+  <xsl:output method="xml"/>
+    
+  <xsl:template match="compound[@kind='namespace']">
+  </xsl:template>
+
+  <xsl:template match="*">
+    <xsl:copy>
+      <xsl:for-each select="@*"><xsl:copy/></xsl:for-each>
+      <xsl:apply-templates/>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>