diff --git a/core/includes/form.inc b/core/includes/form.inc
index 8f52c6d..ad5f153 100644
--- a/core/includes/form.inc
+++ b/core/includes/form.inc
@@ -4305,7 +4305,12 @@ function theme_form_element($variables) {
     '#title_display' => 'before',
   );
 
-  $variables['errors'] = form_get_error($element);
+  // @todo: figure out a better place & better way to grab this error so that it
+  //         a) doesnt need this parent check
+  //         b) happens before the theme layer
+  if (isset($element['#parents'])) {
+    $variables['errors'] = form_get_error($element);
+  }
 
   // Add element #id for #type 'item'.
   if (isset($element['#markup']) && !empty($element['#id'])) {
@@ -4326,8 +4331,6 @@ function theme_form_element($variables) {
   // Add a class if an error exists.
   if ($variables['errors']) {
     $attributes['class'][] = 'form-error';
-    $attributes['class'][] = 'messages';
-    $attributes['class'][] = 'error';
   }
   $output = '<div' . drupal_attributes($attributes) . '>' . "\n";
 
diff --git a/core/modules/system/system.theme-rtl.css b/core/modules/system/system.theme-rtl.css
index 03c93f3..a8521b8 100644
--- a/core/modules/system/system.theme-rtl.css
+++ b/core/modules/system/system.theme-rtl.css
@@ -39,6 +39,14 @@ th {
 }
 
 /**
+ * Markup generated by Form API.
+ */
+div.form-error-message {
+  background-position: right top;
+  padding-right: 30px;
+}
+
+/**
  * Collapsible fieldsets.
  */
 .js fieldset.collapsible > legend .fieldset-legend {
diff --git a/core/modules/system/system.theme.css b/core/modules/system/system.theme.css
index d5f41e1..af79ad3 100644
--- a/core/modules/system/system.theme.css
+++ b/core/modules/system/system.theme.css
@@ -75,6 +75,18 @@ td.active {
 /**
  * Markup generated by Form API.
  */
+div.form-error {
+  background-color: #fef5f1;
+  border: 1px solid #ed541d;
+  color: #8c2e0b;
+  padding: 10px;
+}
+div.form-error-message {
+  background: no-repeat left top url(../../misc/message-24-error.png); /* LTR */
+  margin-bottom: 10px;
+  min-height: 25px;
+  padding-left: 30px; /* LTR */
+}
 .form-item,
 .form-actions {
   margin-top: 1em;
