diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3c7304c..1da230e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.15.3
+ * Add a customPattern parameter to the currency constructor. This can be used
+   to provide a custom pattern if you have one, e.g. for accounting formats.
+
 ## 0.15.2
  * Group the padding digits to the left of the number, if present. e.g. 00,001.
  * Tweak lookup code to support translated messages as JSON rather than code.
diff --git a/lib/src/intl/number_format.dart b/lib/src/intl/number_format.dart
index 4b187e3..4ca2d22 100644
--- a/lib/src/intl/number_format.dart
+++ b/lib/src/intl/number_format.dart
@@ -238,10 +238,18 @@
   /// currency's default takes priority over the locale's default.
   ///       new NumberFormat.currency(locale: 'en_US')
   /// will format with two, which is the default for that locale.
+  ///
+  /// The [customPattern] parameter can be used to specify a particular
+  /// format. This is useful if you have your own locale data which includes
+  /// unsupported formats (e.g. accounting format for currencies.)
   // TODO(alanknight): Should we allow decimalDigits on other numbers.
   NumberFormat.currency(
-      {String locale, String name, String symbol, int decimalDigits})
-      : this._forPattern(locale, (x) => x.CURRENCY_PATTERN,
+      {String locale,
+      String name,
+      String symbol,
+      int decimalDigits,
+      String customPattern})
+      : this._forPattern(locale, (x) => customPattern ?? x.CURRENCY_PATTERN,
             name: name,
             currencySymbol: symbol,
             decimalDigits: decimalDigits,
diff --git a/pubspec.yaml b/pubspec.yaml
index c658519..9c14eda 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: intl
-version: 0.15.2
+version: 0.15.3-dev
 author: Dart Team <misc@dartlang.org>
 description: Contains code to deal with internationalized/localized messages, date and number formatting and parsing, bi-directional text, and other internationalization issues.
 homepage: https://github.com/dart-lang/intl
diff --git a/test/number_format_test.dart b/test/number_format_test.dart
index aa0363c..91ddab2 100644
--- a/test/number_format_test.dart
+++ b/test/number_format_test.dart
@@ -260,6 +260,15 @@
     var padded = format.format(0);
     expect(padded, '٠٠٠');
   });
+
+  // Exercise a custom pattern. There's not actually much logic here, so just
+  // validate that the custom pattern is in fact being used.
+  test('Custom currency pattern', () {
+    var format = new NumberFormat.currency(
+        name: 'XYZZY', customPattern: '[\u00a4][#,##.#]');
+    var text = format.format(12345.67);
+    expect(text, '[XYZZY][1,23,45.67]');
+  });
 }
 
 String stripExtras(String input) {
