diff --git a/core/includes/form.inc b/core/includes/form.inc
index 256a038..008ad8d 100644
--- a/core/includes/form.inc
+++ b/core/includes/form.inc
@@ -113,6 +113,9 @@ function form_select_options($element, $choices = NULL) {
       $option = [];
       $key = (string) $key;
       $empty_choice = $empty_value && $key == '_none';
+      if ($value_is_array) {
+        $element['#value'] = array_map('strval', $element['#value']);
+      }
       if ($value_valid && ((!$value_is_array && (string) $element['#value'] === $key || ($value_is_array && in_array($key, $element['#value'], TRUE))) || $empty_choice)) {
         $option['selected'] = TRUE;
       }
