diff --git a/includes/webform.emails.inc b/includes/webform.emails.inc
index be3a13e8..2c1192e4 100644
--- a/includes/webform.emails.inc
+++ b/includes/webform.emails.inc
@@ -351,7 +351,7 @@ function webform_email_edit_form($form, $form_state, $node, $email = array(), $c
     '#default_value' => $email['template'] == 'default' ? 'default' : 'custom',
   );
 
-  $default_template = theme(array('webform_mail_' . $node->nid, 'webform_mail', 'webform_mail_message'), array('node' => $node, 'email' => $email));
+  $default_template = theme(array('webform_mail__' . $node->nid, 'webform_mail', 'webform_mail_message'), array('node' => $node, 'email' => $email));
   $template = $email['template'] == 'default' ? $default_template : $email['template'];
   $form['template']['template'] = array(
     '#type' => 'textarea',
diff --git a/templates/webform-form.tpl.php b/templates/webform-form.tpl.php
index 8fb7546d..07ef28c7 100644
--- a/templates/webform-form.tpl.php
+++ b/templates/webform-form.tpl.php
@@ -4,7 +4,7 @@
  * @file
  * Customize the display of a complete webform.
  *
- * This file may be renamed "webform-form-[nid].tpl.php" to target a specific
+ * This file may be renamed "webform-form--[nid].tpl.php" to target a specific
  * webform on your site. Or you can leave it "webform-form.tpl.php" to affect
  * all webforms on your site.
  *
@@ -19,6 +19,9 @@
  * If a preview is enabled, these keys will be available on the preview page:
  * - $form['preview_message']: The preview message renderable.
  * - $form['preview']: A renderable representing the entire submission preview.
+ *
+ * You can also add your own custom template suggestions to the theme_hook_suggestions
+ * array as you wish, which would use templates such as "webform-form--mycustompath.tpl.php"
  */
 ?>
 <?php
diff --git a/webform.module b/webform.module
index 73e550d8..dfd1c19f 100644
--- a/webform.module
+++ b/webform.module
@@ -809,7 +809,6 @@ function webform_theme() {
     'webform_form' => array(
       'render element' => 'form',
       'template' => 'templates/webform-form',
-      'pattern' => 'webform_form_[0-9]+',
     ),
     'webform_confirmation' => array(
       'variables' => array('node' => NULL, 'sid' => NULL),
@@ -3563,6 +3562,12 @@ function template_preprocess_webform_form(&$vars) {
     $vars['nid'] = $vars['form']['submission']['#value']->nid;
   }
 
+  $node = node_load($vars['nid']);
+  $node_title = drupal_html_class($node->title);
+
+  $vars['theme_hook_suggestions'][] = 'webform_form__' . $node_title;
+  $vars['theme_hook_suggestions'][] = 'webform_form__' . $vars['nid'];
+
   if (!empty($vars['form']['#node']->webform['conditionals']) && empty($vars['form']['preview'])) {
     module_load_include('inc', 'webform', 'includes/webform.conditionals');
     $submission_data = isset($vars['form']['#conditional_values']) ? $vars['form']['#conditional_values'] : array();
