Index: src/wp-includes/widget-functions.php
===================================================================
--- src/wp-includes/widget-functions.php	(revision 35637)
+++ src/wp-includes/widget-functions.php	(working copy)
@@ -166,6 +166,8 @@
 		'after_widget' => "</li>\n",
 		'before_title' => '<h2 class="widgettitle">',
 		'after_title' => "</h2>\n",
+		'before_sidebar' => '',
+		'after_sidebar' => '',
 	);
 
 	$sidebar = wp_parse_args( $args, $defaults );
@@ -543,6 +545,9 @@
 		return apply_filters( 'dynamic_sidebar_has_widgets', false, $index );
 	}
 
+	$sidebar = $wp_registered_sidebars[$index];
+	$sidebar['before_sidebar'] = sprintf( $sidebar['before_sidebar'], $sidebar['id'], $sidebar['class'] );
+
 	/**
 	 * Fires before widgets are rendered in a dynamic sidebar.
 	 *
@@ -556,8 +561,11 @@
 	 *                                Default true.
 	 */
 	do_action( 'dynamic_sidebar_before', $index, true );
-	$sidebar = $wp_registered_sidebars[$index];
 
+	if ( ! empty( $sidebar['before_sidebar'] ) ) {
+		echo $sidebar['before_sidebar'];
+	}
+
 	$did_one = false;
 	foreach ( (array) $sidebars_widgets[$index] as $id ) {
 
@@ -648,6 +656,10 @@
 		}
 	}
 
+	if ( ! empty( $sidebar['after_sidebar'] ) ) {
+		echo $sidebar['after_sidebar'];
+	}
+
 	/**
 	 * Fires after widgets are rendered in a dynamic sidebar.
 	 *
