diff --git a/libc/Android.bp b/libc/Android.bp
index 507f6e4..2429634 100644
--- a/libc/Android.bp
+++ b/libc/Android.bp
@@ -1926,7 +1926,7 @@
     // special for arm
     arch: {
         arm: {
-            //TODO: This is to work around b/19059885. Remove after root cause is fixed
+            //TODO: This is to work around b/24465209. Remove after root cause is fixed
             ldflags: ["-Wl,--hash-style=both"],
 
             shared: {
@@ -1941,7 +1941,7 @@
             ],
         },
         x86: {
-            //TODO: This is to work around b/19059885. Remove after root cause is fixed
+            //TODO: This is to work around b/24465209. Remove after root cause is fixed
             ldflags: ["-Wl,--hash-style=both"],
         },
         x86_64: {
@@ -2080,7 +2080,7 @@
     sanitize: ["never"],
     native_coverage: bionic_coverage,
 
-    //TODO: This is to work around b/19059885. Remove after root cause is fixed
+    //TODO: This is to work around b/24465209. Remove after root cause is fixed
     arch: {
         arm: {
             ldflags: ["-Wl,--hash-style=both"],
diff --git a/libc/Android.mk b/libc/Android.mk
index 3435c3f..6919fbb 100644
--- a/libc/Android.mk
+++ b/libc/Android.mk
@@ -1391,7 +1391,7 @@
 # prevent the build system from using this flag.
 LOCAL_NO_EXCLUDE_LIBS := true
 
-# TODO: This is to work around b/19059885. Remove after root cause is fixed
+# TODO: This is to work around b/24465209. Remove after root cause is fixed
 LOCAL_LDFLAGS_arm := -Wl,--hash-style=both
 LOCAL_LDFLAGS_x86 := -Wl,--hash-style=both
 
@@ -1531,7 +1531,7 @@
 LOCAL_CFLAGS := $(libc_common_cflags)
 LOCAL_CPPFLAGS := $(libc_common_cppflags)
 
-# TODO: This is to work around b/19059885. Remove after root cause is fixed
+# TODO: This is to work around b/24465209. Remove after root cause is fixed
 LOCAL_LDFLAGS_arm := -Wl,--hash-style=both
 LOCAL_LDFLAGS_x86 := -Wl,--hash-style=both
 
diff --git a/libm/Android.mk b/libm/Android.mk
index d447417..fb8df07 100644
--- a/libm/Android.mk
+++ b/libm/Android.mk
@@ -514,7 +514,7 @@
 
 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/libm.map
 
-# TODO: This is to work around b/19059885. Remove after root cause is fixed
+# TODO: This is to work around b/24465209. Remove after root cause is fixed
 LOCAL_LDFLAGS_arm := -Wl,--hash-style=both
 LOCAL_LDFLAGS_x86 := -Wl,--hash-style=both
 
diff --git a/linker/Android.mk b/linker/Android.mk
index d8487d3..a962c76 100644
--- a/linker/Android.mk
+++ b/linker/Android.mk
@@ -35,8 +35,8 @@
     -fvisibility=hidden \
     -Wall -Wextra -Wunused -Werror \
 
-LOCAL_CFLAGS_arm += -D__work_around_b_19059885__
-LOCAL_CFLAGS_x86 += -D__work_around_b_19059885__
+LOCAL_CFLAGS_arm += -D__work_around_b_24465209__
+LOCAL_CFLAGS_x86 += -D__work_around_b_24465209__
 
 LOCAL_CONLYFLAGS += \
     -std=gnu99 \
diff --git a/linker/linker.cpp b/linker/linker.cpp
index 3967ad5..7421b1d 100644
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -1656,7 +1656,7 @@
           }
         }
       } else {
-#if !defined(__work_around_b_19059885__)
+#if !defined(__work_around_b_24465209__)
         __libc_fatal("soinfo for \"%s\"@%p has no version", si->get_realpath(), si);
 #else
         PRINT("warning: soinfo for \"%s\"@%p has no version", si->get_realpath(), si);
@@ -2435,7 +2435,7 @@
 }
 
 const char* soinfo::get_realpath() const {
-#if defined(__work_around_b_19059885__)
+#if defined(__work_around_b_24465209__)
   if (has_min_version(2)) {
     return realpath_.c_str();
   } else {
@@ -2447,7 +2447,7 @@
 }
 
 const char* soinfo::get_soname() const {
-#if defined(__work_around_b_19059885__)
+#if defined(__work_around_b_24465209__)
   if (has_min_version(2)) {
     return soname_;
   } else {
@@ -2978,7 +2978,7 @@
     switch (d->d_tag) {
       case DT_SONAME:
         soname_ = get_string(d->d_un.d_val);
-#if defined(__work_around_b_19059885__)
+#if defined(__work_around_b_24465209__)
         strlcpy(old_name_, soname_, sizeof(old_name_));
 #endif
         break;
diff --git a/linker/linker.h b/linker/linker.h
index 6f8bf1f..39d3ff1 100644
--- a/linker/linker.h
+++ b/linker/linker.h
@@ -88,7 +88,7 @@
 
 #define SOINFO_VERSION 2
 
-#if defined(__work_around_b_19059885__)
+#if defined(__work_around_b_24465209__)
 #define SOINFO_NAME_LEN 128
 #endif
 
@@ -163,7 +163,7 @@
 struct soinfo {
  public:
   typedef LinkedList<soinfo, SoinfoListAllocator> soinfo_list_t;
-#if defined(__work_around_b_19059885__)
+#if defined(__work_around_b_24465209__)
  private:
   char old_name_[SOINFO_NAME_LEN];
 #endif
@@ -174,13 +174,13 @@
   ElfW(Addr) base;
   size_t size;
 
-#if defined(__work_around_b_19059885__)
+#if defined(__work_around_b_24465209__)
   uint32_t unused1;  // DO NOT USE, maintained for compatibility.
 #endif
 
   ElfW(Dyn)* dynamic;
 
-#if defined(__work_around_b_19059885__)
+#if defined(__work_around_b_24465209__)
   uint32_t unused2; // DO NOT USE, maintained for compatibility
   uint32_t unused3; // DO NOT USE, maintained for compatibility
 #endif
@@ -298,7 +298,7 @@
   bool is_gnu_hash() const;
 
   bool inline has_min_version(uint32_t min_version __unused) const {
-#if defined(__work_around_b_19059885__)
+#if defined(__work_around_b_24465209__)
     return (flags_ & FLAG_NEW_SOINFO) != 0 && version_ >= min_version;
 #else
     return true;
