diff --git a/date_api/date_api_elements.inc b/date_api/date_api_elements.inc
index fc91205..73f9bb2 100644
--- a/date_api/date_api_elements.inc
+++ b/date_api/date_api_elements.inc
@@ -557,7 +557,11 @@ function date_parts_element($element, $date, $format) {
   $sub_element = array('#granularity' => $granularity);
   $order = array_flip($granularity);
 
-  $hours_format  = strpos(strtolower($element['#date_format']), 'a') ? 'g' : 'G';
+  if (!strpos(strtolower($element['#date_format']), 'h')) {
+    $hours_format = strpos(strtolower($element['#date_format']), 'a') ? 'g' : 'G';
+  } else {
+    $hours_format = strpos($element['#date_format'], 'h') ? 'h' : 'H';
+  }
   $month_function  = strpos($element['#date_format'], 'F') !== FALSE ? 'date_month_names' : 'date_month_names_abbr';
   $count = 0;
   $increment = min(intval($element['#date_increment']), 1);
