diff --git a/ELF/Arch/MipsArchTree.cpp b/ELF/Arch/MipsArchTree.cpp
index f745a87..5de85e2 100644
--- a/ELF/Arch/MipsArchTree.cpp
+++ b/ELF/Arch/MipsArchTree.cpp
@@ -294,12 +294,30 @@
   return ret;
 }
 
+// If we don't have any input files, we'll have to rely on the information we
+// can derive from emulation information, since this at least gets us ABI.
+static uint32_t getFlagsFromEmulation() {
+  uint32_t ret = 0;
+
+  if (config->emulation.empty())
+    return 0;
+
+  if (config->ekind == ELF32BEKind || config->ekind == ELF32LEKind) {
+    if (config->mipsN32Abi)
+      ret |= EF_MIPS_ABI2;
+    else
+      ret |= EF_MIPS_ABI_O32;
+  }
+
+  return ret;
+}
+
 template <class ELFT> uint32_t elf::calcMipsEFlags() {
   std::vector<FileFlags> v;
   for (InputFile *f : objectFiles)
     v.push_back({f, cast<ObjFile<ELFT>>(f)->getObj().getHeader()->e_flags});
   if (v.empty())
-    return 0;
+    return getFlagsFromEmulation();
   checkFlags(v);
   return getMiscFlags(v) | getPicFlags(v) | getArchFlags(v);
 }
diff --git a/test/ELF/mips-elf-flags-binary.s b/test/ELF/mips-elf-flags-binary.s
new file mode 100644
index 0000000..3278fa0
--- /dev/null
+++ b/test/ELF/mips-elf-flags-binary.s
@@ -0,0 +1,25 @@
+# REQUIRES: mips
+# Check deducing MIPS specific ELF header flags from `emulation`.
+
+# RUN: echo -n "BLOB" > %t.binary
+# RUN: ld.lld -m elf32btsmip -r -b binary %t.binary -o %t.out
+# RUN: llvm-readobj -h %t.out | FileCheck -check-prefix=O32 %s
+
+# RUN: echo -n "BLOB" > %t.binary
+# RUN: ld.lld -m elf32btsmipn32 -r -b binary %t.binary -o %t.out
+# RUN: llvm-readobj -h %t.out | FileCheck -check-prefix=N32 %s
+
+# RUN: echo -n "BLOB" > %t.binary
+# RUN: ld.lld -m elf64btsmip -r -b binary %t.binary -o %t.out
+# RUN: llvm-readobj -h %t.out | FileCheck -check-prefix=N64 %s
+
+# O32:      Flags [
+# O32-NEXT:   EF_MIPS_ABI_O32
+# O32-NEXT: ]
+
+# N32:      Flags [
+# N32-NEXT:   EF_MIPS_ABI2
+# N32-NEXT: ]
+
+# N64:      Flags [
+# N64-NEXT: ]
