goto bail_out;
    }
    Dmsg0(150, "DB opened\n");
-   if (!jcr->comment) {
-      jcr->comment = get_pool_memory(PM_MESSAGE);
-      *jcr->comment = '\0';
-   }
    if (!jcr->fname) {
       jcr->fname = get_pool_memory(PM_FNAME);
    }
       bnet_close(jcr->store_bsock);
       jcr->store_bsock = NULL;
    }
-   if (jcr->comment) {
-      free_pool_memory(jcr->comment);
-      jcr->comment = NULL;
-   }
    if (jcr->fname) {
       Dmsg0(200, "Free JCR fname\n");
       free_pool_memory(jcr->fname);
 
       pm_strcpy(jcr->catalog_source, _("User input"));
    }
 
-   if (!jcr->comment) {
-      jcr->comment = get_pool_memory(PM_MESSAGE);
-   }
    pm_strcpy(jcr->comment, rc.comment);
 
    if (rc.where) {
 
    jcr->VolumeName[0] = 0;
    jcr->errmsg = get_pool_memory(PM_MESSAGE);
    jcr->errmsg[0] = 0;
+   jcr->comment = get_pool_memory(PM_FNAME);
+   jcr->comment[0] = 0;
    /* Setup some dummy values */
    bstrncpy(jcr->Job, "*System*", sizeof(jcr->Job));
    jcr->JobId = 0;
       free_guid_list(jcr->id_list);
       jcr->id_list = NULL;
    }
+   if (jcr->comment) {
+      free_pool_memory(jcr->comment);
+      jcr->comment = NULL;
+   }
    remove_jcr_from_tsd(jcr);
    free(jcr);
 }