diff --git a/tools/gn2bp/Android.bp.swp b/tools/gn2bp/Android.bp.swp
index fe73834..e206812 100644
--- a/tools/gn2bp/Android.bp.swp
+++ b/tools/gn2bp/Android.bp.swp
@@ -6731,7 +6731,6 @@
         "buildtools/third_party/libc++/trunk/include",
         "buildtools/third_party/libc++/trunk/src/",
         "buildtools/third_party/libc++abi/trunk/include",
-        "buildtools/third_party/libunwind/trunk/include/",
         "third_party/protobuf/src/",
         "build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu",
         "build/linux/debian_bullseye_amd64-sysroot/usr/include",
diff --git a/tools/gn2bp/gn_utils.py b/tools/gn2bp/gn_utils.py
index 65c1293..3a411c6 100644
--- a/tools/gn2bp/gn_utils.py
+++ b/tools/gn2bp/gn_utils.py
@@ -99,6 +99,7 @@
         self.sources = set()
         self.cflags = set()
         self.defines = set()
+        self.include_dirs = set()
 
 
     def __init__(self, name, type):
@@ -182,7 +183,7 @@
                   'libs', 'proto_paths'):
         self.__dict__[key].update(other.__dict__.get(key, []))
 
-      for key_in_arch in ('cflags', 'defines'):
+      for key_in_arch in ('cflags', 'defines', 'include_dirs'):
         self.arch[arch].__dict__[key_in_arch].update(
           other.arch[arch].__dict__.get(key_in_arch, []))
 
@@ -210,6 +211,9 @@
       for arch_value in self.arch.values():
         self.defines = self.defines.union(arch_value.defines)
 
+      # TODO: Keep include_dirs per arch
+      for arch_value in self.arch.values():
+        self.include_dirs = self.include_dirs.union(arch_value.include_dirs)
 
   def __init__(self):
     self.all_targets = {}
@@ -335,7 +339,7 @@
     target.libs.update(desc.get('libs', []))
     target.ldflags.update(desc.get('ldflags', []))
     target.arch[arch].defines.update(desc.get('defines', []))
-    target.include_dirs.update(desc.get('include_dirs', []))
+    target.arch[arch].include_dirs.update(desc.get('include_dirs', []))
 
     # Recurse in dependencies.
     for gn_dep_name in desc.get('deps', []):
