diff --git a/src/main/java/org/olat/modules/curriculum/CurriculumService.java b/src/main/java/org/olat/modules/curriculum/CurriculumService.java
index 7da86f36a0ab4a2efe1aa60acd86e092341a35c7..67253cdafd5de7a5b678efc1bdf300f4333983c1 100644
--- a/src/main/java/org/olat/modules/curriculum/CurriculumService.java
+++ b/src/main/java/org/olat/modules/curriculum/CurriculumService.java
@@ -84,6 +84,8 @@ public interface CurriculumService {
 	 */
 	public List<Curriculum> getMyCurriculums(Identity identity);
 	
+	public boolean hasCurriculums(IdentityRef identity);
+	
 	/**
 	 * The list of curriculums the identity participates.
 	 * 
diff --git a/src/main/java/org/olat/modules/curriculum/manager/CurriculumDAO.java b/src/main/java/org/olat/modules/curriculum/manager/CurriculumDAO.java
index b1d1b198a4aa73296d7ffe7bd3745ef500eb5db7..8b5c41594c61952599af43e0d472ce61e87e17db 100644
--- a/src/main/java/org/olat/modules/curriculum/manager/CurriculumDAO.java
+++ b/src/main/java/org/olat/modules/curriculum/manager/CurriculumDAO.java
@@ -137,6 +137,24 @@ public class CurriculumDAO {
 				.getResultList();
 	}
 	
+	public boolean hasMyCurriculums(IdentityRef identity) {
+		QueryBuilder sb = new QueryBuilder(256);
+		sb.append("select curElement.key from curriculumelement curElement")
+		  .append(" inner join curElement.curriculum as cur")
+		  .append(" inner join curElement.group as bGroup")
+		  .append(" inner join bGroup.members membership")
+		  .append(" where membership.identity.key=:memberKey and membership.role ").in(CurriculumRoles.participant, CurriculumRoles.coach, CurriculumRoles.owner)
+		  .append(" and (cur.status is null or cur.status ").in(CurriculumStatus.active.name()).append(")");
+
+		List<Long> curriculumKeys = dbInstance.getCurrentEntityManager()
+				.createQuery(sb.toString(), Long.class)
+				.setParameter("memberKey", identity.getKey())
+				.setFirstResult(0)
+				.setMaxResults(1)
+				.getResultList();
+		return curriculumKeys != null && !curriculumKeys.isEmpty() && curriculumKeys.get(0) != null;
+	}
+	
 	public List<Long> getMyActiveCurriculumKeys(IdentityRef identity) {
 		QueryBuilder sb = new QueryBuilder(256);
 		sb.append("select curElement.curriculum.key from curriculumelement curElement")
diff --git a/src/main/java/org/olat/modules/curriculum/manager/CurriculumServiceImpl.java b/src/main/java/org/olat/modules/curriculum/manager/CurriculumServiceImpl.java
index b4848382576a103b2ebffde826656fa7ccaf78c1..954ccaa0d30588535c16e3082f3583c9a46ec009 100644
--- a/src/main/java/org/olat/modules/curriculum/manager/CurriculumServiceImpl.java
+++ b/src/main/java/org/olat/modules/curriculum/manager/CurriculumServiceImpl.java
@@ -286,6 +286,11 @@ public class CurriculumServiceImpl implements CurriculumService, OrganisationDat
 		return curriculumDao.getMyCurriculums(identity);
 	}
 
+	@Override
+	public boolean hasCurriculums(IdentityRef identity) {
+		return curriculumDao.hasMyCurriculums(identity);
+	}
+
 	@Override
 	public List<CurriculumRef> getMyActiveCurriculumRefs(Identity identity) {
 		List<Long> curriculumKeys = curriculumDao.getMyActiveCurriculumKeys(identity);
diff --git a/src/main/java/org/olat/repository/ui/list/OverviewRepositoryListController.java b/src/main/java/org/olat/repository/ui/list/OverviewRepositoryListController.java
index a54de12c040c2b6d32467eb0793b0732a3b70466..d607b447dcff1f6689ab2349ae75156c0401388e 100644
--- a/src/main/java/org/olat/repository/ui/list/OverviewRepositoryListController.java
+++ b/src/main/java/org/olat/repository/ui/list/OverviewRepositoryListController.java
@@ -46,6 +46,7 @@ import org.olat.core.util.event.EventBus;
 import org.olat.core.util.event.GenericEventListener;
 import org.olat.core.util.resource.OresHelper;
 import org.olat.modules.curriculum.CurriculumModule;
+import org.olat.modules.curriculum.CurriculumService;
 import org.olat.modules.curriculum.ui.CurriculumListController;
 import org.olat.repository.CatalogEntry;
 import org.olat.repository.RepositoryManager;
@@ -90,7 +91,9 @@ public class OverviewRepositoryListController extends BasicController implements
 	private BreadcrumbedStackedPanel searchCoursesStackPanel;
 	
 	private final boolean isGuestOnly;
-	private boolean favoritDirty, myDirty;
+	private boolean myDirty;
+	private boolean favoritDirty;
+	private final boolean withCurriculums;
 	
 	private final EventBus eventBus;
 	
@@ -100,6 +103,8 @@ public class OverviewRepositoryListController extends BasicController implements
 	private RepositoryModule repositoryModule;
 	@Autowired
 	private CurriculumModule curriculumModule;
+	@Autowired
+	private CurriculumService curriculumService;
 	
 	public OverviewRepositoryListController(UserRequest ureq, WindowControl wControl) {
 		super(ureq, wControl);
@@ -123,7 +128,8 @@ public class OverviewRepositoryListController extends BasicController implements
 		myCourseLink.setElementCssClass("o_sel_mycourses_my");
 		segmentView.addSegment(myCourseLink, false);
 		
-		if(curriculumModule.isEnabled() && curriculumModule.isCurriculumInMyCourses()) {
+		withCurriculums = withCurriculumTab();
+		if(withCurriculums) {
 			curriculumLink = LinkFactory.createLink("search.curriculums", mainVC, this);
 			curriculumLink.setElementCssClass("o_sel_mycurriculums");
 			segmentView.addSegment(curriculumLink, false);
@@ -150,6 +156,11 @@ public class OverviewRepositoryListController extends BasicController implements
 		putInitialPanel(mainPanel);
 	}
 	
+	private boolean withCurriculumTab() {
+		return curriculumModule.isEnabled() && curriculumModule.isCurriculumInMyCourses()
+				&& curriculumService.hasCurriculums(getIdentity());
+	}
+	
 	@Override
 	public void activate(UserRequest ureq, List<ContextEntry> entries, StateEntry state) {
 		if(entries == null || entries.isEmpty()) {
@@ -347,7 +358,7 @@ public class OverviewRepositoryListController extends BasicController implements
 	}
 	
 	private CurriculumListController doOpenCurriculum(UserRequest ureq) {
-		if(!curriculumModule.isEnabled() || !curriculumModule.isCurriculumInMyCourses()) {
+		if(!withCurriculums) {
 			return null;
 		}
 		cleanUp();
diff --git a/src/test/java/org/olat/modules/curriculum/manager/CurriculumDAOTest.java b/src/test/java/org/olat/modules/curriculum/manager/CurriculumDAOTest.java
index 20762c4bb847b0653a187bfaed87af3bc923a83a..ee3261ca861fdfac5acb4f1d36e55f0794a23431 100644
--- a/src/test/java/org/olat/modules/curriculum/manager/CurriculumDAOTest.java
+++ b/src/test/java/org/olat/modules/curriculum/manager/CurriculumDAOTest.java
@@ -313,6 +313,25 @@ public class CurriculumDAOTest extends OlatTestCase {
 		Assert.assertEquals(curriculum, myCurriculums.get(0));
 	}
 	
+	@Test
+	public void hasMyCurriculums() {
+		// add a curriculum with a coach in an element
+		Identity idWithCurriculum = JunitTestHelper.createAndPersistIdentityAsRndUser("cur-for-fun-1");
+		Identity idWithout = JunitTestHelper.createAndPersistIdentityAsRndUser("cur-for-fun-2");
+		Curriculum curriculum = curriculumService.createCurriculum("CUR-FUN-1", "My funny curriculum 1", "Short desc.", null);
+		CurriculumElement element = curriculumService.createCurriculumElement("Element-1", "1. Element",  CurriculumElementStatus.active,
+				new Date(), new Date(), null, null, CurriculumCalendars.disabled, CurriculumLectures.disabled, curriculum);
+		dbInstance.commitAndCloseSession();
+		curriculumService.addMember(element, idWithCurriculum, CurriculumRoles.participant);
+		dbInstance.commitAndCloseSession();
+		
+		// has curriculums?
+		boolean hasCurriculums = curriculumDao.hasMyCurriculums(idWithCurriculum);
+		Assert.assertTrue(hasCurriculums);
+		boolean hasNotCurriculums = curriculumDao.hasMyCurriculums(idWithout);
+		Assert.assertFalse(hasNotCurriculums);
+	}
+	
 	@Test
 	public void hasCurriculumRole() {
 		// add a curriculum manager