diff --git a/src/wp-includes/media.php b/src/wp-includes/media.php
index f8a2da5..3151625 100644
--- a/src/wp-includes/media.php
+++ b/src/wp-includes/media.php
@@ -1635,8 +1635,22 @@ function gallery_shortcode( $attr ) {
 		</style>\n\t\t";
 	}
 
-	$size_class = sanitize_html_class( $atts['size'] );
-	$gallery_div = "<div id='$selector' class='gallery galleryid-{$id} gallery-columns-{$columns} gallery-size-{$size_class}'>";
+	$classes_str = null;
+    $classes = array(
+        'gallery',
+        'galleryid-'.$id,
+        'gallery-columns-'.$columns,
+        'gallery-size-'.sanitize_html_class( $atts['size'] )
+    );
+
+    $classes = apply_filters( 'gallery_classes', $classes, $attr );
+
+    if ( !empty( $classes ) ) {
+        $classes = array_filter( $classes );
+        $classes_str = " class='" . implode( ' ', $classes ) . "'";
+    }
+
+	$gallery_div = "<div id='$selector' $classes_str>";
 
 	/**
 	 * Filter the default gallery shortcode CSS styles.
