diff --git themes/bartik/template.php themes/bartik/template.php
index cb98807..b808fec 100644
--- themes/bartik/template.php
+++ themes/bartik/template.php
@@ -135,19 +135,34 @@ function bartik_page_alter(&$page) {
   foreach ($page as &$region) {
     // Make sure this is a "region" element.
     if (is_array($region) && isset($region['#region'])) {
-      $i = 0;
-      foreach ($region as &$block) {
-        // Make sure this is a "block" element.
-        if (is_array($block) && isset($block['#block'])) {
-          $block['#block']->position = $i++;
-          // Set a flag for "first" and "last" blocks.
-          $block['#block']->position_first = ($block['#block']->position == 0);
-          $block['#block']->position_last = FALSE;
-          $last_block =& $block;
-        }
+      _bartik_region_positions($region);
+    }
+  }
+  // Determine the position and count of blocks within regions in the dashboard.
+  if (isset($page['content']['dashboard'])) {
+    foreach ($page['content']['dashboard'] as &$region) {
+      if (is_array($region) && isset($region['#dashboard_region'])) {
+        _bartik_region_positions($region);
       }
-      $last_block['#block']->position_last = TRUE;
-      $region['#block_count'] = $i;
     }
   }
 }
+
+/**
+ * Adds position markers to a region.
+ */
+function _bartik_region_positions(&$region) {
+  $i = 0;
+  foreach ($region as &$block) {
+    // Make sure this is a "block" element.
+    if (is_array($block) && isset($block['#block'])) {
+      $block['#block']->position = $i++;
+      // Set a flag for "first" and "last" blocks.
+      $block['#block']->position_first = ($block['#block']->position == 0);
+      $block['#block']->position_last = FALSE;
+      $last_block =& $block;
+    }
+  }
+  $last_block['#block']->position_last = TRUE;
+  $region['#block_count'] = $i;
+}
\ No newline at end of file
