diff --git a/com.google.devtools.bazel.e4b/resources/tools/must/be/unique/e4b_aspect.bzl b/com.google.devtools.bazel.e4b/resources/tools/must/be/unique/e4b_aspect.bzl
index 4f0efdb..84b23ea 100644
--- a/com.google.devtools.bazel.e4b/resources/tools/must/be/unique/e4b_aspect.bzl
+++ b/com.google.devtools.bazel.e4b/resources/tools/must/be/unique/e4b_aspect.bzl
@@ -92,10 +92,11 @@
   for attr_name in DEPENDENCY_ATTRIBUTES:
     if hasattr(rule_attrs, attr_name):
       deps = getattr(rule_attrs, attr_name)
-      for dep in deps:
-        ide_info_text = ide_info_text | dep.intellij_info_files.ide_info_text
-        ide_resolve_files = ide_resolve_files | dep.intellij_info_files.ide_resolve_files
-      all_deps += [str(dep.label) for dep in deps]
+      if type(deps) == 'list':
+        for dep in deps:
+          ide_info_text = ide_info_text | dep.intellij_info_files.ide_info_text
+          ide_resolve_files = ide_resolve_files | dep.intellij_info_files.ide_resolve_files
+        all_deps += [str(dep.label) for dep in deps]
 
   if hasattr(target, "java"):
     (java_rule_ide_info_struct, java_ide_resolve_files) = java_rule_ide_info(target, ctx)
