Index: office_hours.elements.inc.patch
===================================================================
--- office_hours.elements.inc.patch	(revision 3350)
+++ office_hours.elements.inc.patch	(working copy)
@@ -1,17 +0,0 @@
-Index: office_hours.elements.inc
-===================================================================
---- office_hours.elements.inc	(revision 3349)
-+++ office_hours.elements.inc	(working copy)
-@@ -60,6 +60,12 @@
-   */
-   $day = $element['#weight'];
-   $field = $form_state['field'][$element['#field_name']][$element['#language']]['field'];
-+  
-+  //Patch for field collection
-+  if (!$field) {
-+  $field = $form_state['field']['#parents'][$element['#bundle']][$element['#language']]['0']['#fields'][$element['#field_name']][$element['#language']]['field'];
-+  }//Patch end
-+  
-   $day = ($day == 0) ? 0 : (($day & 1) ? ($day-1)/2 : $day/2);
-   $field_day = $element['#columns'][0];
-   $field_strhrs = $element['#columns'][1];
Index: office_hours.elements.inc
===================================================================
--- office_hours.elements.inc	(revision 3351)
+++ office_hours.elements.inc	(working copy)
@@ -177,6 +177,12 @@
   if (isset( $form_state['field'][$element['#field_name']]) ) {
     $field_settings = &$form_state['field'][$element['#field_name']][$element['#language']]['field']['settings'];
   }
+  elseif (array_key_exists($element['#bundle'], $form_state['field'])) {
+    //Patch for field collection embed issue
+  	if (isset( $form_state['field']['#parents'][$element['#bundle']][$element['#language']]['0']['#fields'][$element['#field_name']]) ) {
+  		$field_settings = &$form_state['field']['#parents'][$element['#bundle']][$element['#language']]['0']['#fields'][$element['#field_name']][$element['#language']]['field']['settings'];
+  	}
+  }
   else {
     // This is to cater for the Profile2 edit page.
     $parents = array_slice($element['#array_parents'], 2, -1);
