diff --git a/lib/custom_fields/types/select.rb b/lib/custom_fields/types/select.rb
index <HASH>..<HASH> 100644
--- a/lib/custom_fields/types/select.rb
+++ b/lib/custom_fields/types/select.rb
@@ -124,7 +124,7 @@ module CustomFields
               [option['_id'], option['name']].include?(id_or_name)
             end
 
-            instance.send(:"#{name}_id=", option['_id']) if option
+            instance.send(:"#{name}_id=", option.try(:[], '_id'))
           end
 
           # Returns a list of documents groupes by select values defined in the custom fields recipe
can pass an empty string or an unknown value to the select setter