diff --git a/messaging.admin.inc b/messaging.admin.inc
index bc5f9bc..7892b23 100644
--- a/messaging.admin.inc
+++ b/messaging.admin.inc
@@ -246,7 +246,7 @@ function messaging_admin_settings() {
   );
   $form['general']['messaging_default_method'] = array(
     '#title' => t('Default send method'),
-    '#type' => 'radios',
+    '#type' => 'checkboxes',
     '#options' => $methods,
     '#default_value' => variable_get('messaging_default_method', ''),
   );
diff --git a/messaging.module b/messaging.module
index cabb3d2..02dc8ab 100644
--- a/messaging.module
+++ b/messaging.module
@@ -130,7 +130,7 @@ function messaging_user($type, $edit, &$user, $category = NULL) {
           '#collapsible' => TRUE,
         );
         $form['messaging']['messaging_default'] = array(
-          '#type'          => 'select',
+          '#type'          => 'checkboxes',
           '#title'         => t('Default send method'),
           '#default_value' => messaging_method_default($user),
           '#options' => $list,
@@ -544,7 +544,13 @@ function messaging_method_permission($method, $account = NULL) {
  */
 function messaging_method_default($account = NULL) {
   if ($account && !empty($account->messaging_default) && messaging_method_permission($account->messaging_default, $account)) {
-    return $account->messaging_default;
+    if (is_array($account->messaging_default)) {
+      // Ensure key/value match
+      $keys = array_keys(array_filter($account->messaging_default));
+      return array_combine($keys, $keys);
+    } else {
+      return $account->messaging_default;
+    }
   }
   elseif ($method = variable_get('messaging_default_method', '')) {
     return $method;
@@ -1211,7 +1217,11 @@ function _messaging_info($info, $method = NULL, $property = NULL, $default = NUL
   if ($method && $property) {
     return isset($info[$method][$property]) ? $info[$method][$property] : $default;
   } elseif ($method) {
-    return isset($info[$method]) ? $info[$method] : $default;
+    if (is_array($method)) {
+      return array_intersect_key($info, $method);
+    } else {
+      return isset($info[$method]) ? $info[$method] : $default;
+    }
   } elseif ($property) {
     // Get this property as a list indexed by method
     $props = array();
