diff --git a/src/wp-includes/js/media-grid.js b/src/wp-includes/js/media-grid.js
index 0ebbc67..29d2921 100644
--- a/src/wp-includes/js/media-grid.js
+++ b/src/wp-includes/js/media-grid.js
@@ -233,26 +233,17 @@
 		 * Open the Edit Attachment modal.
 		 */
 		editAttachment: function( model ) {
-			var library = this.state().get('library'), hasPrevious, hasNext;
-			if ( library.indexOf( model ) > 0 ) {
-				hasPrevious = true;
-			}
-			else {
-				hasPrevious = false;
-			}
-			if ( library.indexOf( model ) < library.length - 1 ) {
-				hasNext = true;
-			}
-			else {
-				hasNext = false;
-			}
+			var library = this.state().get('library');
 
-			new media.view.Frame.EditAttachment({
-				hasPrevious:    hasPrevious,
-				hasNext:        hasNext,
-				model:          model,
-				gridController: this
+			// Create a new EditAttachment frame, passing along the library and the attachment model.
+			this.editAttachmentFrame = new media.view.Frame.EditAttachment({
+				library:        library,
+				model:          model
 			});
+
+			// Listen to events on the edit attachment frame for triggering pagination callback handlers.
+			this.listenTo( this.editAttachmentFrame, 'edit:attachment:next', this.editNextAttachment );
+			this.listenTo( this.editAttachmentFrame, 'edit:attachment:previous', this.editPreviousAttachment );
 		},
 
 		/**
@@ -363,6 +354,9 @@
 				this.on( 'router:render', this.browseRouter, this );
 			}
 
+			this.options.hasPrevious = ( this.options.library.indexOf( this.options.model ) > 0 ) ? true : false;
+			this.options.hasNext = ( this.options.library.indexOf( this.options.model ) < this.options.library.length - 1 ) ? true : false;
+
 			// Initialize modal container view.
 			if ( this.options.modal ) {
 				this.modal = new media.view.Modal({
@@ -471,7 +465,7 @@
 			if ( ! this.options.hasPrevious )
 				return;
 			this.modal.close();
-			this.options.gridController.trigger( 'edit:attachment:previous', this.model );
+			this.trigger( 'edit:attachment:previous', this.model );
 		},
 
 		/**
@@ -481,9 +475,8 @@
 			if ( ! this.options.hasNext )
 				return;
 			this.modal.close();
-			this.options.gridController.trigger( 'edit:attachment:next', this.model );
+			this.trigger( 'edit:attachment:next', this.model );
 		}
-
 	});
 
 	media.view.GridFieldOptions = media.View.extend({
