diff --git a/development/scripts/stack.py b/development/scripts/stack.py
index 0bc8669..53664b1 100755
--- a/development/scripts/stack.py
+++ b/development/scripts/stack.py
@@ -89,10 +89,10 @@
   print("  --arch=arm|arm64|x64|x86|mips")
   print("       the target architecture")
   print()
-  print("  --fallback-monochrome")
-  print("       fallback to monochrome instead of chrome if fail to detect")
-  print("       shared lib which is loaded from APK, this doesn't work for")
-  print("       component build.")
+  print("  --fallback-so-file=name")
+  print("     fallback to given .so file (eg. libmonochrome_64.so) instead")
+  print("     of libmonochrome.so if we fail to detect the shared lib which")
+  print("     is loaded from APK, this doesn't work for component build.")
   print()
   print("  --quiet")
   print("       Show less logging")
@@ -149,7 +149,7 @@
     options, arguments = getopt.getopt(argv, "p", [
         "pass-through", "more-info", "less-info", "chrome-symbols-dir=",
         "output-directory=", "apks-directory=", "symbols-dir=", "symbols-zip=",
-        "arch=", "fallback-monochrome", "verbose", "quiet", "help",
+        "arch=", "fallback-so-file=", "verbose", "quiet", "help",
     ])
   except getopt.GetoptError:
     PrintUsage()
@@ -157,7 +157,7 @@
   pass_through = False
   zip_arg = None
   more_info = False
-  fallback_monochrome = False
+  fallback_so_file = None
   arch_defined = False
   apks_directory = None
   log_level = logging.INFO
@@ -185,8 +185,8 @@
       more_info = True
     elif option == "--less-info":
       more_info = False
-    elif option == "--fallback-monochrome":
-      fallback_monochrome = True
+    elif option == "--fallback-so-file":
+      fallback_so_file = value
     elif option == "--verbose":
       log_level = logging.DEBUG
     elif option == "--quiet":
@@ -215,7 +215,7 @@
                  'on the first unrelated line or EOF)')
     with llvm_symbolizer.LLVMSymbolizer() as symbolizer:
       stack_core.StreamingConvertTrace(sys.stdin, {}, more_info,
-                                       fallback_monochrome, arch_defined,
+                                       fallback_so_file, arch_defined,
                                        symbolizer, apks_directory, pass_through)
   else:
     logging.info('Searching for native crashes in: %s',
@@ -238,7 +238,7 @@
       logging.info('Searching for Chrome symbols from within: %s',
                    ':'.join((os.path.normpath(d) for d in chrome_search_path)))
       stack_core.ConvertTrace(lines, load_vaddrs, more_info,
-                              fallback_monochrome, arch_defined,
+                              fallback_so_file, arch_defined,
                               test_symbolizer or symbolizer, apks_directory)
 
   if rootdir:
diff --git a/development/scripts/stack_core.py b/development/scripts/stack_core.py
index 0d04f16..545fcf4 100755
--- a/development/scripts/stack_core.py
+++ b/development/scripts/stack_core.py
@@ -37,8 +37,7 @@
 _DEFAULT_JOBS=8
 _CHUNK_SIZE = 1000
 
-_BASE_APK = 'base.apk'
-_FALLBACK_SO = 'libchrome.so'
+_FALLBACK_SO = 'libmonochrome.so'
 
 # pylint: disable=line-too-long
 
@@ -164,14 +163,14 @@
   print('-----------------------------------------------------\n')
 
 
-def StreamingConvertTrace(_, load_vaddrs, more_info, fallback_monochrome,
+def StreamingConvertTrace(_, load_vaddrs, more_info, fallback_so_file,
                           arch_defined, llvm_symbolizer, apks_directory,
                           pass_through):
   """Symbolize stacks on the fly as they are read from an input stream."""
 
-  if fallback_monochrome:
+  if fallback_so_file:
     global _FALLBACK_SO
-    _FALLBACK_SO = 'libmonochrome.so'
+    _FALLBACK_SO = fallback_so_file
   useful_lines = []
   so_dirs = []
   in_stack = False
@@ -210,13 +209,13 @@
     ConvertStreamingChunk()
 
 
-def ConvertTrace(lines, load_vaddrs, more_info, fallback_monochrome,
-                 arch_defined, llvm_symbolizer, apks_directory):
+def ConvertTrace(lines, load_vaddrs, more_info, fallback_so_file, arch_defined,
+                 llvm_symbolizer, apks_directory):
   """Convert strings containing native crash to a stack."""
 
-  if fallback_monochrome:
+  if fallback_so_file:
     global _FALLBACK_SO
-    _FALLBACK_SO = 'libmonochrome.so'
+    _FALLBACK_SO = fallback_so_file
   start = time.time()
 
   chunks = [lines[i: i+_CHUNK_SIZE] for i in range(0, len(lines), _CHUNK_SIZE)]
@@ -363,7 +362,7 @@
             # APK name with _FALLBACK_SO, unless an APKs directory was
             # explicitly specified (in which case, the correct .so should always
             # be identified, and using a fallback could be misleading).
-            line = line.replace('/' + _BASE_APK, '/' + _FALLBACK_SO)
+            line = line.replace('.apk', '.apk/' + _FALLBACK_SO)
             logging.debug("Can't detect shared library in APK, fallback to" +
                           " library " + _FALLBACK_SO)
         # For trace lines specifically, the address may need to be adjusted
