diff --git a/icu4c/source/data/BUILDRULES.py b/icu4c/source/data/BUILDRULES.py
index af1da51..7361196 100644
--- a/icu4c/source/data/BUILDRULES.py
+++ b/icu4c/source/data/BUILDRULES.py
@@ -432,7 +432,7 @@
     ]
     dep_files = set(InFile(filename) for filename in glob("translit/*.txt"))
     dep_files -= set(input_files)
-    dep_files = list(dep_files)
+    dep_files = list(sorted(dep_files))
     input_basenames = [v.filename[9:] for v in input_files]
     output_files = [
         OutFile("translit/%s.res" % v[:-4])
@@ -554,9 +554,10 @@
         IN_SUB_DIR = sub_dir,
         **common_vars
     ))
+    index_file_target_name = "%s_index_txt" % sub_dir
     requests += [
         IndexTxtRequest(
-            name = "%s_index_txt" % sub_dir,
+            name = index_file_target_name,
             category = category,
             input_files = index_input_files,
             output_file = index_file_txt,
@@ -572,9 +573,9 @@
     requests += [
         SingleExecutionRequest(
             name = "%s_index_res" % sub_dir,
-            category = "%s_index" % sub_dir,
-            dep_targets = [],
-            input_files = [index_file_txt],
+            category = category,
+            dep_targets = [DepTarget(index_file_target_name)],
+            input_files = [],
             output_files = [index_res_file],
             tool = IcuTool("genrb"),
             args = "-s {TMP_DIR}/{IN_SUB_DIR} -d {OUT_DIR}/{OUT_PREFIX} -i {OUT_DIR} "
diff --git a/icu4c/source/data/buildtool/filtration.py b/icu4c/source/data/buildtool/filtration.py
index c7077e5..48d78e3 100644
--- a/icu4c/source/data/buildtool/filtration.py
+++ b/icu4c/source/data/buildtool/filtration.py
@@ -281,8 +281,10 @@
                 continue
             if request.tool != IcuTool("genrb"):
                 continue
+            if not request.input_files:
+                continue
             self._set_files(request.input_files)
-            request.dep_targets += [self.filter_files]
+            request.dep_targets += [self.filter_files[:]]
             arg_str = "--filterDir {TMP_DIR}/%s" % self.filter_tmp_dir
             request.args = "%s %s" % (arg_str, request.args)
 
diff --git a/icu4c/source/data/buildtool/request_types.py b/icu4c/source/data/buildtool/request_types.py
index 102b06c..0de0285 100644
--- a/icu4c/source/data/buildtool/request_types.py
+++ b/icu4c/source/data/buildtool/request_types.py
@@ -41,6 +41,10 @@
                 raise ValueError("Unknown argument: %s" % key)
 
     def apply_file_filter(self, filter):
+        """
+        Returns True if this request still has input files after filtering,
+        or False if the request is "empty" after filtering.
+        """
         return True
 
     def flatten(self, config, all_requests, common_vars):
@@ -104,6 +108,11 @@
         del self.input_files[i]
         for _, v in self.format_with.items():
             if isinstance(v, list):
+                assert len(v) == len(self.input_files) + 1
+                del v[i]
+        for v in self.dep_targets:
+            if isinstance(v, list):
+                assert len(v) == len(self.input_files) + 1
                 del v[i]
 
     def flatten(self, config, all_requests, common_vars):
