diff --git a/src/oat.cc b/src/oat.cc
index 1a884e3..e747a8b 100644
--- a/src/oat.cc
+++ b/src/oat.cc
@@ -23,10 +23,16 @@
 const uint8_t OatHeader::kOatMagic[] = { 'o', 'a', 't', '\n' };
 const uint8_t OatHeader::kOatVersion[] = { '0', '0', '1', '\0' };
 
-OatHeader::OatHeader(const std::vector<const DexFile*>* dex_files) {
+OatHeader::OatHeader() {
+  memset(this, 0, sizeof(*this));
+}
+
+OatHeader::OatHeader(InstructionSet instruction_set, const std::vector<const DexFile*>* dex_files) {
   memcpy(magic_, kOatMagic, sizeof(kOatMagic));
   memcpy(version_, kOatVersion, sizeof(kOatVersion));
   adler32_checksum_ = adler32(0L, Z_NULL, 0);
+  instruction_set_ = instruction_set;
+  UpdateChecksum(&instruction_set_, sizeof(instruction_set_));
   dex_file_count_ = dex_files->size();
   UpdateChecksum(&dex_file_count_, sizeof(dex_file_count_));
   executable_offset_ = 0;
@@ -63,6 +69,11 @@
   adler32_checksum_ = adler32(adler32_checksum_, bytes, length);
 }
 
+InstructionSet OatHeader::GetInstructionSet() const {
+  CHECK(IsValid());
+  return instruction_set_;
+}
+
 uint32_t OatHeader::GetExecutableOffset() const {
   DCHECK(IsValid());
   DCHECK_ALIGNED(executable_offset_, kPageSize);
