80732564dd5c43725740eaa0c39760e3c89507af
max
  Wed Oct 29 07:53:00 2025 -0700
fixing null exception, refs #36610

diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c
index 2b4336e35da..fd752f6b28b 100644
--- src/hg/hgTracks/hgTracks.c
+++ src/hg/hgTracks/hgTracks.c
@@ -9679,31 +9679,31 @@
 
                 if (strstr(group->label, "Collections"))
                     {
                     safef(idText, sizeof idText, "%s_edit", group->name);
                     hPrintf("<input name=\"hubEditButton\" id='%s'"
                         " type=\"button\" value=\"edit\">\n", idText);
                     jsOnEventByIdF("click", idText,
                         "document.editHubForm.submit();return true;");
                     }
                 }
 
             hPrintf("</td><td style='text-align:center; width:90%%;'>\n<B>%s</B>", group->label);
             
             char *hubName = hubNameFromGroupName(group->name);
             struct trackHub *hub = grabHashedHub(hubName);
-            if (hubName)
+            if (hub && hub->url)
                 {
                 puts("&nbsp;");
                 char infoText[10000];
                 safef(infoText, sizeof infoText, "A track hub is a list of tracks produced and hosted by external data providers. The UCSC browser group is not responsible for them. This hub is loaded from %s", hub->url);
                 printInfoIconColor(infoText, "white");
                 }
 
             hPrintf("</td><td style='text-align:right;'>\n");
             
             if (hubName)
 		{
                 // visibility: hidden means that the element takes up space so the center alignment is not disturbed.
                 if (hub != NULL)
                     {
                     if (hub->descriptionUrl == NULL)