Index: openacs-4/packages/project-manager/tcl/project-manager-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/tcl/project-manager-procs.tcl,v
diff -u -r1.17 -r1.18
--- openacs-4/packages/project-manager/tcl/project-manager-procs.tcl	22 Jan 2007 16:48:34 -0000	1.17
+++ openacs-4/packages/project-manager/tcl/project-manager-procs.tcl	23 Jan 2007 06:35:19 -0000	1.18
@@ -12,6 +12,7 @@
 
 namespace eval pm::util {}
 
+package require struct
 
 ad_proc -public pm::util::hours_day {
 } {
Index: openacs-4/packages/project-manager/templates/task-one.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/project-manager/templates/task-one.tcl,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/project-manager/templates/task-one.tcl	22 Jan 2007 18:55:24 -0000	1.2
+++ openacs-4/packages/project-manager/templates/task-one.tcl	23 Jan 2007 06:35:20 -0000	1.3
@@ -86,15 +86,16 @@
 set project_item_id $task_info(project_item_id)
 
 # Set the context bar at least two levels up :-)
-set project_root [pm::util::get_root_folder -package_id $package_id]
-set parent_project_id [pm::project::parent_project_id -project_id $task_info(project_item_id)]
+set parent_project_id $task_info(project_item_id)
 set context [list]
-if {$parent_project_id ne $project_root} {
+while {$parent_project_id ne ""} {
     set project_name [pm::util::get_project_name -project_item_id $parent_project_id]
     lappend context [list "one?project_item_id=$parent_project_id" "$project_name"]
+    set parent_project_id [pm::project::parent_project_id -project_id $parent_project_id]
 }
 
-lappend context [list "one?project_item_id=$task_info(project_item_id)" "$task_info(project_name)"] 
+# Reverse the list (as we go up the tree but need it down the tree)
+struct::list reverse $context
 lappend context "$task_info(task_title)"