diff --git a/includes/form.inc b/includes/form.inc
index f17058c..4032c2a 100644
--- a/includes/form.inc
+++ b/includes/form.inc
@@ -1711,6 +1711,8 @@ function form_builder($form_id, &$element, &$form_state) {
 
   // Special handling if we're on the top level form element.
   if (isset($element['#type']) && $element['#type'] == 'form') {
+  $element['#attributes']['class'][] = drupal_html_class($form_id);
+
     if (!empty($element['#https']) && variable_get('https', FALSE) &&
         !url_is_external($element['#action'])) {
       global $base_root;
diff --git a/modules/node/node.pages.inc b/modules/node/node.pages.inc
index d92e8b7..8ea2f02 100644
--- a/modules/node/node.pages.inc
+++ b/modules/node/node.pages.inc
@@ -111,9 +111,6 @@ function node_form($form, &$form_state, $node) {
   $form['#node_edit_form'] = TRUE;
 
   $form['#attributes']['class'][] = 'node-form';
-  if (!empty($node->type)) {
-    $form['#attributes']['class'][] = 'node-' . $node->type . '-form';
-  }
 
   // Basic node information.
   // These elements are just values so they are not even sent to the client.
diff --git a/modules/search/search.module b/modules/search/search.module
index 518272a..f75de4d 100644
--- a/modules/search/search.module
+++ b/modules/search/search.module
@@ -981,7 +981,6 @@ function search_form($form, &$form_state, $action = '', $keys = '', $module = NU
   $form['#action'] = url($action);
   // Record the $action for later use in redirecting.
   $form_state['action'] = $action;
-  $form['#attributes']['class'][] = 'search-form';
   $form['module'] = array('#type' => 'value', '#value' => $module);
   $form['basic'] = array('#type' => 'container', '#attributes' => array('class' => array('container-inline')));
   $form['basic']['keys'] = array(
diff --git a/modules/simpletest/tests/form.test b/modules/simpletest/tests/form.test
index 386880e..7d48360 100644
--- a/modules/simpletest/tests/form.test
+++ b/modules/simpletest/tests/form.test
@@ -1200,7 +1200,7 @@ class FormsRebuildTestCase extends DrupalWebTestCase {
     $this->assert(count($this->xpath('//form[contains(@id, "page-node-form")]//div[contains(@class, "form-item-field-ajax-test")]//input[@type="text"]')) == 2, t('Form retained its state from cache.'));
 
     // Ensure that the form's action is correct.
-    $forms = $this->xpath('//form[contains(@class, "node-page-form")]');
+    $forms = $this->xpath('//form[contains(@class, "page-node-form")]');
     $this->assert(count($forms) == 1 && $forms[0]['action'] == url('node/add/page'), t('Re-rendered form contains the correct action value.'));
   }
 }
