diff --git a/src/android/jpeg/exif.cpp b/src/android/jpeg/exif.cpp
index 1ced55343ee9..f29a7c71d1ec 100644
--- a/src/android/jpeg/exif.cpp
+++ b/src/android/jpeg/exif.cpp
@@ -25,7 +25,8 @@ LOG_DEFINE_CATEGORY(EXIF)
  * data can be obtained using the data() method.
  */
 Exif::Exif()
-	: valid_(false), data_(nullptr), exifData_(0), size_(0)
+	: valid_(false), data_(nullptr), order_(EXIF_BYTE_ORDER_INTEL),
+	  exifData_(0), size_(0)
 {
 	/* Create an ExifMem allocator to construct entries. */
 	mem_ = exif_mem_new_default();
@@ -49,7 +50,7 @@ Exif::Exif()
 	 * Big-Endian: EXIF_BYTE_ORDER_MOTOROLA
 	 * Little Endian: EXIF_BYTE_ORDER_INTEL
 	 */
-	exif_data_set_byte_order(data_, EXIF_BYTE_ORDER_INTEL);
+	exif_data_set_byte_order(data_, order_);
 
 	/* Create the mandatory EXIF fields with default data. */
 	exif_data_fix(data_);
@@ -131,7 +132,7 @@ void Exif::setShort(ExifIfd ifd, ExifTag tag, uint16_t item)
 	if (!entry)
 		return;
 
-	exif_set_short(entry->data, EXIF_BYTE_ORDER_INTEL, item);
+	exif_set_short(entry->data, order_, item);
 	exif_entry_unref(entry);
 }
 
@@ -141,7 +142,7 @@ void Exif::setLong(ExifIfd ifd, ExifTag tag, uint32_t item)
 	if (!entry)
 		return;
 
-	exif_set_long(entry->data, EXIF_BYTE_ORDER_INTEL, item);
+	exif_set_long(entry->data, order_, item);
 	exif_entry_unref(entry);
 }
 
@@ -151,7 +152,7 @@ void Exif::setRational(ExifIfd ifd, ExifTag tag, ExifRational item)
 	if (!entry)
 		return;
 
-	exif_set_rational(entry->data, EXIF_BYTE_ORDER_INTEL, item);
+	exif_set_rational(entry->data, order_, item);
 	exif_entry_unref(entry);
 }
 
diff --git a/src/android/jpeg/exif.h b/src/android/jpeg/exif.h
index 622de4cfd593..6e8ce04a2e67 100644
--- a/src/android/jpeg/exif.h
+++ b/src/android/jpeg/exif.h
@@ -46,6 +46,7 @@ private:
 
 	ExifData *data_;
 	ExifMem *mem_;
+	ExifByteOrder order_;
 
 	unsigned char *exifData_;
 	unsigned int size_;
