diff --git a/core/src/main/java/hudson/Functions.java b/core/src/main/java/hudson/Functions.java index 3736611bf8ef46bd0d7f49aedae4745a5f05313c..daf88e9000d898135fd1e1000c0610b89883dfbe 100644 --- a/core/src/main/java/hudson/Functions.java +++ b/core/src/main/java/hudson/Functions.java @@ -1005,13 +1005,19 @@ public class Functions { Item i=p; String url = ""; + Collection viewItems; + if (view != null) { + viewItems = view.getItems(); + } else { + viewItems = Collections.emptyList(); + } while(true) { ItemGroup ig = i.getParent(); url = i.getShortUrl()+url; if(ig== Jenkins.getInstance() || (view != null && ig == view.getOwnerItemGroup())) { assert i instanceof TopLevelItem; - if (view.contains((TopLevelItem)i)) { + if(viewItems.contains((TopLevelItem)i)) { // if p and the current page belongs to the same view, then return a relative path return normalizeURI(ancestors.get(view)+'/'+url); } else {