Index: hierarchical_select.module
===================================================================
--- hierarchical_select.module	(revision 1110)
+++ hierarchical_select.module	(working copy)
@@ -666,13 +666,21 @@
 
     // Collect information in this array, which will be used in dynamic form
     // updates, to …
+    $forms = module_invoke_all('forms', $form['#parameters'][0]);
+	// now get our specific one. This is e.g. important for node_form forms, as there id might be
+	// type_node_form, but there method(callback) is still node_form
+    $form_callback = $forms[$form['#parameters'][0]]['callback'];
+	$callbackFunc = new ReflectionFunction($form_callback);
+	// lets remove the docroot path, as we include relative to drupal
+	$formCallbackFile = str_replace($_SERVER['DOCUMENT_ROOT']."/", "", $callbackFunc->getFileName());
+
     $storage = array(
       // … retrieve $form.
       'parameters' => $parameters,
       // … determine which part of $form should be rendered.
       '#names'     => $names,
       // … include the file in which the form function lives.
-      'file'       => $menu_item['file'],
+      'file'       => $formCallbackFile,
     );
 
     // 6 hours cache life time for forms should be plenty.
