diff --git a/bundles/org.eclipse.team.cvs.ui/plugin.xml b/bundles/org.eclipse.team.cvs.ui/plugin.xml
index ee25728..ebd8a81 100644
--- a/bundles/org.eclipse.team.cvs.ui/plugin.xml
+++ b/bundles/org.eclipse.team.cvs.ui/plugin.xml
@@ -510,6 +510,19 @@
          </action>      
       </objectContribution>
       <objectContribution
+            objectClass="org.eclipse.team.internal.ccvs.ui.model.BranchCategory"
+            id="org.eclipse.team.ccvs.ui.model.BranchCategoryContributions">
+         <action
+               label="%RefreshTagsAction.label"
+               icon="icons/full/clcl16/newstream_wiz.gif"
+               tooltip="%RefreshTagsAction.tooltip"
+               menubarPath="tagGroup"
+               class="org.eclipse.team.internal.ccvs.ui.repo.RefreshTagsAction"
+               helpContextId="org.eclipse.team.cvs.ui.refresh_tags_action_context"
+               id="org.eclipse.team.ccvs.ui.refreshTags">
+         </action>      
+      </objectContribution>
+      <objectContribution
             objectClass="org.eclipse.team.internal.ccvs.core.ICVSRemoteResource"
             id="org.eclipse.team.ccvs.ui.RemoteResourceContributions">
          <action
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/repo/RefreshTagsAction.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/repo/RefreshTagsAction.java
index 9d7ec75..d0bb6c8 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/repo/RefreshTagsAction.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/repo/RefreshTagsAction.java
@@ -9,6 +9,7 @@
 import org.eclipse.team.core.TeamException;
 import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
 import org.eclipse.team.internal.ccvs.ui.actions.CVSAction;
+import org.eclipse.team.internal.ccvs.ui.model.BranchCategory;
 
 /**
  * @author Administrator
@@ -45,13 +46,18 @@
 		if (!selection.isEmpty()) {
 			Iterator elements = ((IStructuredSelection) selection).iterator();
 			while (elements.hasNext()) {
-				Object adapter = getAdapter(elements.next(), ICVSRepositoryLocation.class);
-				if (adapter instanceof ICVSRepositoryLocation) {
+				Object element = elements.next();
+				Object adapter = getAdapter(element, ICVSRepositoryLocation.class);
+				if (adapter != null) {
 					tags.add(adapter);
+				} else {
+					adapter = getAdapter(element, BranchCategory.class);
+					if(adapter != null) {
+						tags.add(((BranchCategory)adapter).getRepository(adapter));
+					}
 				}
 			}
 		}
 		return (ICVSRepositoryLocation[])tags.toArray(new ICVSRepositoryLocation[tags.size()]);
 	}
-
 }
