--- webform/webform.module.orig	2009-06-21 17:28:55.000000000 -0700
+++ webform/webform.module	2009-06-22 00:30:25.000000000 -0700
@@ -1399,6 +1399,17 @@
 
   if (isset($submission->sid)) {
     drupal_set_title(t('Submission #@sid', array('@sid' => $submission->sid)));
+
+    $breadcrumb = drupal_get_breadcrumb();
+    if ($enabled) {
+      $last_link = array_pop($breadcrumb);
+    }
+    $breadcrumb[] = l($node->title, 'node/' . $node->nid);
+    $breadcrumb[] = l(t('Submissions'), 'node/' . $node->nid .'/submissions');
+    if ($enabled) {
+      $breadcrumb[] = $last_link;
+    }
+    drupal_set_breadcrumb($breadcrumb);
   }
 
   // Set a header for navigating results.
--- webform/webform_report.inc.orig	2009-06-21 23:28:56.000000000 -0700
+++ webform/webform_report.inc	2009-06-21 23:27:18.000000000 -0700
@@ -19,6 +19,10 @@
 function webform_results_submissions($node, $user_filter, $pager_count) {
   global $user;
 
+  $breadcrumb = drupal_get_breadcrumb();
+  $breadcrumb[] = l($node->title, 'node/' . $node->nid);
+  drupal_set_breadcrumb($breadcrumb);
+
   if (isset($_GET['results']) && is_numeric($_GET['results'])) {
     $pager_count = $_GET['results'];
   }
--- webform/webform_submissions.inc.orig	2009-06-22 00:28:38.000000000 -0700
+++ webform/webform_submissions.inc	2009-06-22 00:25:44.000000000 -0700
@@ -97,6 +97,13 @@
 function webform_submission_delete_form($form_state, $node, $submission) {
   drupal_set_title(t('Delete Form Submission'));
 
+  $breadcrumb = drupal_get_breadcrumb();
+  $last_link = array_pop($breadcrumb);
+  $breadcrumb[] = l($node->title, 'node/' . $node->nid);
+  $breadcrumb[] = l(t('Submissions'), 'node/' . $node->nid .'/submissions');
+  $breadcrumb[] = $last_link;
+  drupal_set_breadcrumb($breadcrumb);
+
   $form = array();
   $form['node'] = array('#type' => 'value', '#value' => $node);
   $form['submission'] = array('#type' => 'value', '#value' => $submission);
