diff --git src/js/media/views/button.js src/js/media/views/button.js
index 8f1af79d85..a2d1a15e59 100644
--- src/js/media/views/button.js
+++ src/js/media/views/button.js
@@ -24,7 +24,7 @@ var Button = wp.media.View.extend(/** @lends wp.media.view.Button.prototype */{
 		disabled: false
 	},
 
-	initialize: function() {
+	initialize: function( view, button_options ) {
 		/**
 		 * Create a model with the provided `defaults`.
 		 *
@@ -32,6 +32,10 @@ var Button = wp.media.View.extend(/** @lends wp.media.view.Button.prototype */{
 		 */
 		this.model = new Backbone.Model( this.defaults );
 
+		if ( ! _.isUndefined( button_options ) ) {
+			this.options = _.defaults( button_options, this.options );
+		}
+
 		// If any of the `options` have a key from `defaults`, apply its
 		// value to the `model` and remove it from the `options object.
 		_.each( this.defaults, function( def, key ) {
diff --git src/js/media/views/toolbar.js src/js/media/views/toolbar.js
index 258d12697a..8477e3f508 100644
--- src/js/media/views/toolbar.js
+++ src/js/media/views/toolbar.js
@@ -89,7 +89,7 @@ Toolbar = View.extend(/** @lends wp.media.view.Toolbar.prototype */{
 		} else {
 			if ( ! ( view instanceof Backbone.View ) ) {
 				view.classes = [ 'media-button-' + id ].concat( view.classes || [] );
-				view = new wp.media.view.Button( view ).render();
+				view = new wp.media.view.Button( view, this.controller.options.button ).render();
 			}
 
 			view.controller = view.controller || this.controller;
