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', []):
