1diff --git a/mozglue/misc/decimal/Decimal.cpp b/mozglue/misc/decimal/Decimal.cpp
2--- a/mozglue/misc/decimal/Decimal.cpp
3+++ b/mozglue/misc/decimal/Decimal.cpp
4@@ -277,17 +277,17 @@ bool Decimal::EncodedData::operator==(co
5 }
6
7 Decimal::Decimal(int32_t i32)
8     : m_data(i32 < 0 ? Negative : Positive, 0, i32 < 0 ? static_cast<uint64_t>(-static_cast<int64_t>(i32)) : static_cast<uint64_t>(i32))
9 {
10 }
11
12 Decimal::Decimal(Sign sign, int exponent, uint64_t coefficient)
13-    : m_data(sign, exponent, coefficient)
14+    : m_data(sign, coefficient ? exponent : 0, coefficient)
15 {
16 }
17
18 Decimal::Decimal(const EncodedData& data)
19     : m_data(data)
20 {
21 }
22
23