diff --git a/includes/form.inc b/includes/form.inc
index fa52b74..4e00680 100644
--- a/includes/form.inc
+++ b/includes/form.inc
@@ -216,8 +216,11 @@ function bootstrap_form_element_label(&$variables) {
  */
 function bootstrap_preprocess_button(&$vars) {
   $vars['element']['#attributes']['class'][] = 'btn';
-
-  if (isset($vars['element']['#value'])) {
+  $core_btn_found = FALSE;
+
+  if (isset($vars['type'])) {
+    $vars['element']['#attributes']['class'][] = 'btn-' . $vars['type'];
+  }
+  elseif (isset($vars['element']['#value'])) {
     $classes = array(
       //specifics
       t('Save and add') => 'btn-info',
@@ -246,9 +249,12 @@ function bootstrap_preprocess_button(&$vars) {
     foreach ($classes as $search => $class) {
       if (strpos($vars['element']['#value'], $search) !== FALSE) {
         $vars['element']['#attributes']['class'][] = $class;
+        $core_btn_found = TRUE;
         break;
       }
     }
+    if (!$core_btn_found) {
+      $vars['element']['#attributes']['class'][] = 'btn-default';
+    }
   }
 }
 
diff --git a/includes/theme.inc b/includes/theme.inc
index 9a9e45a..e4f9891 100644
--- a/includes/theme.inc
+++ b/includes/theme.inc
@@ -133,6 +133,8 @@ function theme_bootstrap_btn_dropdown($variables) {
   // Type class
   if (isset($variables['type'])) {
     $type_class = ' btn-'. $variables['type'];
+  }
+  else {
+    $type_class = ' btn-default';
   }
 
   // Start markup
