diff --git a/sites/all/modules/user_role_field/user_role_field.module b/sites/all/modules/user_role_field/user_role_field.module
index 8c7a3be..c3b43c7 100644
--- a/sites/all/modules/user_role_field/user_role_field.module
+++ b/sites/all/modules/user_role_field/user_role_field.module
@@ -2,9 +2,10 @@
 
 /**
  * Hook into field edit form and user registration form.
+ * And hook into profile2 forms.
  */
 function user_role_field_form_alter(&$form, $form_state, $form_id) {
-  if (isset($form['instance']) && $form['instance']['entity_type']['#value'] == 'user' && $form_id == 'field_ui_field_edit_form' && isset($form['field'])) {
+  if (isset($form['instance']) && ($form['instance']['entity_type']['#value'] == 'user' || $form['instance']['entity_type']['#value'] == 'profile2') && $form_id == 'field_ui_field_edit_form' && isset($form['field'])) {  
     module_load_include('inc', 'user_role_field', 'user_role_field.admin');
     return _user_role_field_field_settings_form_alter($form, $form_state, $form_id);
   }
@@ -22,7 +23,6 @@
   );
 }
 
-
 function _user_role_field_roles($field) {
   return (isset($field['settings']['user_role_field']) && is_array($field['settings']['user_role_field']) ? array_filter($field['settings']['user_role_field']) : array());
 }
@@ -31,14 +31,18 @@
  * Make sure only appropriate roles have access
  */
 function user_role_field_field_access($op, $field, $obj_type, $object, $account) {
-  // We only handle user fields
-  if ($obj_type != 'user')
+  // We only handle user fields and profile2 fields
+  if (($obj_type != 'user') && ($obj_type != 'profile2'))
     return true;
+
+  // If the object type is profile2, we need to load the user owning profile2 object
+  if ($obj_type == 'profile2' && empty($object->uid))
+    $object = user_load ($object->uid);
 
   // Ignore the request if roles have not been enabled for this field.
   $roles = _user_role_field_roles ($field);
   if (empty($roles)) {
-    return;
+    return true;
   }
 
   // If the user object doesn't have the roles property, we get here through
