diff --git a/sites/all/modules/flag/includes/flag/flag_flag.inc b/sites/all/modules/flag/includes/flag/flag_flag.inc
index 2b96b9f..6675beb 100644
--- a/sites/all/modules/flag/includes/flag/flag_flag.inc
+++ b/sites/all/modules/flag/includes/flag/flag_flag.inc
@@ -127,9 +127,11 @@ class flag_flag {
     // ...but skip the following two.
     unset($flag->options, $flag->type);
 
-    // Populate the options with the defaults.
+    // Populate the options with the defaults, only if $flag->options() returns an array.
     $options = (array) unserialize($row->options);
-    $options += $flag->options();
+    if (is_array($flag->options())) {
+      $options += $flag->options();
+    }
 
     // Make the unserialized options accessible as normal properties.
     foreach ($options as $option => $value) {
