diff --git a/src/app/client/src/app/modules/learn/components/batch/batch-details/batch-details.component.spec.ts b/src/app/client/src/app/modules/learn/components/batch/batch-details/batch-details.component.spec.ts
index 32a493cd410ee4cdbfc9fd3c42fe7ce51a98f98b..47238789ee762b965faf12d77415107f248c0aa8 100644
--- a/src/app/client/src/app/modules/learn/components/batch/batch-details/batch-details.component.spec.ts
+++ b/src/app/client/src/app/modules/learn/components/batch/batch-details/batch-details.component.spec.ts
@@ -75,6 +75,7 @@ describe('BatchDetailsComponent', () => {
     component.courseHierarchy = {identifier: '01250836468775321655', pkgVersion: '1'} ;
     spyOn(courseBatchService, 'getAllBatchDetails').and.returnValue(observableOf(allBatchDetails));
     spyOn(courseBatchService, 'getUserList').and.returnValue(observableOf(userSearch));
+    spyOn(component['courseConsumptionService'], 'isTrackableCollection').and.returnValue(false);
     component.ngOnInit();
     const searchParams: any = {
       filters: {
@@ -99,6 +100,7 @@ describe('BatchDetailsComponent', () => {
     const resourceService = TestBed.get(ResourceService);
     resourceService.messages = resourceServiceMockData.messages;
     resourceService.frmelmnts = resourceServiceMockData.frmelmnts;
+    spyOn(component['courseConsumptionService'], 'isTrackableCollection').and.returnValue(false);
     spyOn(courseBatchService, 'getAllBatchDetails').and.returnValue(observableThrowError(allBatchDetails));
     component.ngOnInit();
     const searchParams: any = {
@@ -120,6 +122,7 @@ describe('BatchDetailsComponent', () => {
     component.courseHierarchy = {identifier: '01250836468775321655', pkgVersion: '1'} ;
     component.userService.setUserId('123');
     spyOn(permissionService, 'checkRolesPermissions').and.returnValue(true);
+    spyOn(component['courseConsumptionService'], 'isTrackableCollection').and.returnValue(true);
     spyOn(courseBatchService, 'getAllBatchDetails').and.returnValue(observableOf(allBatchDetails));
     spyOn(courseBatchService, 'getUserList').and.returnValue(observableOf(userSearch));
     const searchParams: any = {
@@ -164,6 +167,7 @@ describe('BatchDetailsComponent', () => {
   });
   it('should unsubscribe from all observable subscriptions', () => {
     component.courseHierarchy = {identifier: '01250836468775321655', pkgVersion: '1'} ;
+    spyOn(component['courseConsumptionService'], 'isTrackableCollection').and.returnValue(false);
     component.ngOnInit();
     spyOn(component.unsubscribe, 'complete');
     component.ngOnDestroy();
@@ -183,6 +187,7 @@ describe('BatchDetailsComponent', () => {
     spyOnProperty(userService, 'userid', 'get').and.returnValue('9ad90eb4-b8d2-4e99-805f');
     spyOn(permissionService, 'checkRolesPermissions').and.returnValue(true);
     spyOn(component['courseConsumptionService'], 'canViewDashboard').and.returnValue(true);
+    spyOn(component['courseConsumptionService'], 'isTrackableCollection').and.returnValue(true);
     component.courseHierarchy = {createdBy: '9ad90eb4-b8d2-4e99-805f', trackable: {enabled: 'Yes'}};
     component.showCreateBatch();
     expect(component.isTrackable).toBe(true);
@@ -193,11 +198,12 @@ describe('BatchDetailsComponent', () => {
 
   it(`should not allow 'Create Batch' button to be shown if the user has not created the course`, () => {
     component.courseHierarchy = {createdBy: '9ad90eb4-b8d2-4e99-805f', trackable: {enabled: 'No'}};
-    spyOn(component['courseConsumptionService'], 'canCreateBatch').and.returnValue(true);
+    spyOn(component['courseConsumptionService'], 'canCreateBatch').and.returnValue(false);
+    spyOn(component['courseConsumptionService'], 'isTrackableCollection').and.returnValue(false);
     component.showCreateBatch();
     expect(component.allowBatchCreation).toBe(false);
     expect(component.isTrackable).toBe(false);
-    expect(component['courseConsumptionService'].canCreateBatch).not.
+    expect(component['courseConsumptionService'].canCreateBatch).
     toHaveBeenCalledWith({createdBy: '9ad90eb4-b8d2-4e99-805f', trackable: {enabled: 'No'}});
   });
 
@@ -206,6 +212,7 @@ describe('BatchDetailsComponent', () => {
     const permissionService = TestBed.get(PermissionService);
     spyOnProperty(userService, 'userid', 'get').and.returnValue('9ad90eb4-b8d2-4e99-805f');
     spyOn(permissionService, 'checkRolesPermissions').and.returnValue(false);
+    spyOn(component['courseConsumptionService'], 'isTrackableCollection').and.returnValue(false);
     component.courseHierarchy = {createdBy: '9ad90eb4-b8d2-4e99-805f'};
     component.showCreateBatch();
     expect(component.showCreateBatch()).toBeFalsy();
@@ -263,6 +270,7 @@ describe('BatchDetailsComponent', () => {
     component.courseHierarchy = {trackable: { enabled: 'Yes'} };
     spyOn(component, 'showCreateBatch');
     spyOn(component['courseConsumptionService'], 'canCreateBatch').and.returnValue(false);
+    spyOn(component['courseConsumptionService'], 'isTrackableCollection').and.returnValue(false);
     component.ngOnInit();
     expect(component.showCreateBatch).toHaveBeenCalled();
     expect(component.isTrackable).toBeFalsy();
diff --git a/src/app/client/src/app/modules/learn/components/batch/batch-details/batch-details.component.ts b/src/app/client/src/app/modules/learn/components/batch/batch-details/batch-details.component.ts
index dd7523e6ed2ac2499c64386f07853062197a1147..5ebb51588b34a42a450c244481f019e6ad9911e2 100644
--- a/src/app/client/src/app/modules/learn/components/batch/batch-details/batch-details.component.ts
+++ b/src/app/client/src/app/modules/learn/components/batch/batch-details/batch-details.component.ts
@@ -278,9 +278,9 @@ export class BatchDetailsComponent implements OnInit, OnDestroy {
    * @returns - boolean
    */
   showCreateBatch() {
-    this.isTrackable = _.lowerCase(_.get(this.courseHierarchy, 'trackable.enabled')) === 'yes';
-    this.allowBatchCreation = this.isTrackable && this.courseConsumptionService.canCreateBatch(this.courseHierarchy);
-    this.viewBatch = this.isTrackable && this.courseConsumptionService.canViewDashboard(this.courseHierarchy);
+    this.isTrackable = this.courseConsumptionService.isTrackableCollection(this.courseHierarchy);
+    this.allowBatchCreation = this.courseConsumptionService.canCreateBatch(this.courseHierarchy);
+    this.viewBatch = this.courseConsumptionService.canViewDashboard(this.courseHierarchy);
   }
 
   logTelemetry(id, content?: {}, batchId?) {
diff --git a/src/app/client/src/app/modules/learn/components/course-consumption/course-consumption-header/course-consumption-header.component.spec.ts b/src/app/client/src/app/modules/learn/components/course-consumption/course-consumption-header/course-consumption-header.component.spec.ts
index 95a1910c5d47e24b64d25d245105e5e433fb1bb4..dca32349c0cd3333c22b420c054fbf15ffda2bfd 100644
--- a/src/app/client/src/app/modules/learn/components/course-consumption/course-consumption-header/course-consumption-header.component.spec.ts
+++ b/src/app/client/src/app/modules/learn/components/course-consumption/course-consumption-header/course-consumption-header.component.spec.ts
@@ -82,6 +82,7 @@ describe('CourseConsumptionHeaderComponent', () => {
     const resourceService = TestBed.get(ResourceService);
     spyOn(courseConsumptionService, 'parseChildren').and.returnValue([]);
     spyOn(permissionService, 'checkRolesPermissions').and.returnValue(true);
+    spyOn(component['courseConsumptionService'], 'isTrackableCollection').and.returnValue(true);
     resourceService.messages = resourceServiceMockData.messages;
     resourceService.frmelmnts = resourceServiceMockData.frmelmnts;
     component.courseHierarchy = CourseHierarchyGetMockResponse.result.content;
@@ -101,6 +102,7 @@ describe('CourseConsumptionHeaderComponent', () => {
     const courseConsumptionService = TestBed.get(CourseConsumptionService);
     spyOn(courseConsumptionService, 'parseChildren').and.returnValue([]);
     spyOn(courseConsumptionService.updateContentConsumedStatus, 'emit');
+    spyOn(component['courseConsumptionService'], 'isTrackableCollection').and.returnValue(true);
     const courseProgressService = TestBed.get(CourseProgressService);
     const resourceService = TestBed.get(ResourceService);
     resourceService.messages = resourceServiceMockData.messages;
@@ -123,6 +125,7 @@ describe('CourseConsumptionHeaderComponent', () => {
     const resourceService = TestBed.get(ResourceService);
     const activatedRouteStub = TestBed.get(ActivatedRoute);
     activatedRouteStub.changeFirstChildParams({ courseId: 'do_212347136096788480178' });
+    spyOn(component['courseConsumptionService'], 'isTrackableCollection').and.returnValue(true);
     resourceService.messages = resourceServiceMockData.messages;
     resourceService.frmelmnts = resourceServiceMockData.frmelmnts;
     component.courseHierarchy = CourseHierarchyGetMockResponseFlagged.result.content;
@@ -313,19 +316,22 @@ describe('CourseConsumptionHeaderComponent', () => {
     expect(telemetryService.interact).toHaveBeenCalled();
   });
 
-  it ('should return user is coursementor', () => {
+  it ('should enable isTrackable', () => {
     CourseHierarchyGetMockResponseFlagged.result.content['trackable.enabled'] = 'Yes';
     component.courseHierarchy = CourseHierarchyGetMockResponseFlagged.result.content;
     spyOn(component['courseConsumptionService'], 'canViewDashboard').and.returnValue(true);
+    spyOn(component['courseConsumptionService'], 'isTrackableCollection').and.returnValue(true);
     component.ngOnInit();
     expect(component.isTrackable).toBeTruthy();
     expect(component.viewDashboard).toBeTruthy();
   });
 
-  it ('should return user is not coursementor', () => {
+  it ('should disable isTrackable', () => {
     CourseHierarchyGetMockResponseFlagged.result.content['trackable.enabled'] = 'No';
+    CourseHierarchyGetMockResponseFlagged.result.content['contentType'] = 'Textbook';
     component.courseHierarchy = CourseHierarchyGetMockResponseFlagged.result.content;
     spyOn(component['courseConsumptionService'], 'canViewDashboard').and.returnValue(false);
+    spyOn(component['courseConsumptionService'], 'isTrackableCollection').and.returnValue(false);
     component.ngOnInit();
     expect(component.isTrackable).toBeFalsy();
     expect(component.viewDashboard).toBeFalsy();
diff --git a/src/app/client/src/app/modules/learn/components/course-consumption/course-consumption-header/course-consumption-header.component.ts b/src/app/client/src/app/modules/learn/components/course-consumption/course-consumption-header/course-consumption-header.component.ts
index 04030abe236318ce5c4b27a437c140dc4ef3dc95..0f2090db148be759386406d562dec1ec9c3bd2b7 100644
--- a/src/app/client/src/app/modules/learn/components/course-consumption/course-consumption-header/course-consumption-header.component.ts
+++ b/src/app/client/src/app/modules/learn/components/course-consumption/course-consumption-header/course-consumption-header.component.ts
@@ -75,8 +75,8 @@ export class CourseConsumptionHeaderComponent implements OnInit, AfterViewInit,
     if (!this.courseConsumptionService.getCoursePagePreviousUrl) {
       this.courseConsumptionService.setCoursePagePreviousUrl();
     }
-    this.isTrackable = _.lowerCase(_.get(this.courseHierarchy, 'trackable.enabled')) === 'yes';
-    this.viewDashboard = this.isTrackable && this.courseConsumptionService.canViewDashboard(this.courseHierarchy);
+    this.isTrackable = this.courseConsumptionService.isTrackableCollection(this.courseHierarchy);
+    this.viewDashboard = this.courseConsumptionService.canViewDashboard(this.courseHierarchy);
 
     observableCombineLatest(this.activatedRoute.firstChild.params, this.activatedRoute.firstChild.queryParams,
       (params, queryParams) => {
diff --git a/src/app/client/src/app/modules/learn/services/course-consumption/course-consumption.service.spec.ts b/src/app/client/src/app/modules/learn/services/course-consumption/course-consumption.service.spec.ts
index d1c10ac047447fed6804eddaccdda46869973e10..60b02b42939e0a1c6ea060d9dfce23e72b6358ce 100644
--- a/src/app/client/src/app/modules/learn/services/course-consumption/course-consumption.service.spec.ts
+++ b/src/app/client/src/app/modules/learn/services/course-consumption/course-consumption.service.spec.ts
@@ -208,4 +208,19 @@ describe('CourseConsumptionService', () => {
     expect(response).toEqual(false);
   });
 
+  it('should enable trackable', () => {
+    const service = TestBed.get(CourseConsumptionService);
+    courseConsumptionServiceMockData.courseHierarchy.trackable.enabled = 'yes';
+    const response = service.isTrackableCollection(courseConsumptionServiceMockData.courseHierarchy);
+    expect(response).toEqual(true);
+  });
+
+  it('should disable trackable', () => {
+    const service = TestBed.get(CourseConsumptionService);
+    courseConsumptionServiceMockData.courseHierarchy.trackable.enabled = 'no';
+    courseConsumptionServiceMockData.courseHierarchy.contentType = 'textbook';
+    const response = service.isTrackableCollection(courseConsumptionServiceMockData.courseHierarchy);
+    expect(response).toBeFalsy();
+  });
+
 });
diff --git a/src/app/client/src/app/modules/learn/services/course-consumption/course-consumption.service.ts b/src/app/client/src/app/modules/learn/services/course-consumption/course-consumption.service.ts
index aa494d603cb2a789f7c10b371158f2adcd7cb638..bf6ae562f01e3e62bc04f8122f560eef9739f8e0 100644
--- a/src/app/client/src/app/modules/learn/services/course-consumption/course-consumption.service.ts
+++ b/src/app/client/src/app/modules/learn/services/course-consumption/course-consumption.service.ts
@@ -156,15 +156,20 @@ getAllOpenBatches(contents) {
   }
 
   canCreateBatch(courseHierarchy) {
-    return (this.permissionService.checkRolesPermissions(['CONTENT_CREATOR'])
+    return (this.isTrackableCollection(courseHierarchy) && this.permissionService.checkRolesPermissions(['CONTENT_CREATOR'])
       && this.userService.userid === _.get(courseHierarchy, 'createdBy'));
   }
 
   canViewDashboard(courseHierarchy) {
-    return (this.canCreateBatch(courseHierarchy) || this.permissionService.checkRolesPermissions(['COURSE_MENTOR']));
+    return (this.isTrackableCollection(courseHierarchy) &&
+    (this.canCreateBatch(courseHierarchy) || this.permissionService.checkRolesPermissions(['COURSE_MENTOR'])));
   }
 
   canAddCertificates(courseHierarchy) {
     return this.canCreateBatch(courseHierarchy);
   }
+
+  isTrackableCollection(collection: {trackable?: {enabled?: string}, contentType: string}) {
+  return (_.lowerCase(collection.trackable.enabled) === 'yes' || _.lowerCase(collection.contentType) === 'course');
+  }
 }