diff --git a/src/main/java/org/olat/course/nodes/gta/ui/GTAParticipantController.java b/src/main/java/org/olat/course/nodes/gta/ui/GTAParticipantController.java
index 5fc2b39eb2b76b19079422e6bc116eb801acc61b..0aef28ff39e1d62b51ce9fad336da15df121da76 100644
--- a/src/main/java/org/olat/course/nodes/gta/ui/GTAParticipantController.java
+++ b/src/main/java/org/olat/course/nodes/gta/ui/GTAParticipantController.java
@@ -608,21 +608,26 @@ public class GTAParticipantController extends GTAAbstractController implements A
 	 * @return If the solutions are visible to the user
 	 */
 	private boolean showSolutions(DueDate availableDate) {
-		
+		boolean show = false;
 		boolean optional = gtaNode.isOptional();
-		File submitDirectory;
-		if(GTAType.group.name().equals(config.getStringValue(GTACourseNode.GTASK_TYPE))) {
-			submitDirectory = gtaManager.getSubmitDirectory(courseEnv, gtaNode, assessedGroup);
+		if(config.getBooleanSafe(GTACourseNode.GTASK_SUBMIT)) {
+			File submitDirectory;
+			if(GTAType.group.name().equals(config.getStringValue(GTACourseNode.GTASK_TYPE))) {
+				submitDirectory = gtaManager.getSubmitDirectory(courseEnv, gtaNode, assessedGroup);
+			} else {
+				submitDirectory = gtaManager.getSubmitDirectory(courseEnv, gtaNode, assessedIdentity);
+			}
+			
+			if(availableDate == null && optional
+					&& (gtaNode.getModuleConfiguration().getBooleanSafe(GTACourseNode.GTASK_SAMPLE_SOLUTION_VISIBLE_ALL, false) || TaskHelper.hasDocuments(submitDirectory))) {
+				show = true;
+			} else if(availableDate != null && (optional || !availableDate.isRelative())
+					&& (gtaNode.getModuleConfiguration().getBooleanSafe(GTACourseNode.GTASK_SAMPLE_SOLUTION_VISIBLE_ALL, false) || TaskHelper.hasDocuments(submitDirectory))) {
+				show = true;
+			}
+		} else if(optional) {
+			show = gtaNode.getModuleConfiguration().getBooleanSafe(GTACourseNode.GTASK_SAMPLE_SOLUTION_VISIBLE_ALL, false);
 		} else {
-			submitDirectory = gtaManager.getSubmitDirectory(courseEnv, gtaNode, assessedIdentity);
-		}
-		
-		boolean show = false;
-		if(availableDate == null && optional
-				&& (gtaNode.getModuleConfiguration().getBooleanSafe(GTACourseNode.GTASK_SAMPLE_SOLUTION_VISIBLE_ALL, false) || TaskHelper.hasDocuments(submitDirectory))) {
-			show = true;
-		} else if((availableDate != null && (optional || !availableDate.isRelative())
-				&& (gtaNode.getModuleConfiguration().getBooleanSafe(GTACourseNode.GTASK_SAMPLE_SOLUTION_VISIBLE_ALL, false)) || TaskHelper.hasDocuments(submitDirectory))) {
 			show = true;
 		}
 		return show;
diff --git a/src/test/java/org/olat/selenium/AssessmentTest.java b/src/test/java/org/olat/selenium/AssessmentTest.java
index 62ebbbdca6402db2c8e3127478a5fd33815d4f48..561a5fdd24e271b6850a7d88e4b17846c25709d5 100644
--- a/src/test/java/org/olat/selenium/AssessmentTest.java
+++ b/src/test/java/org/olat/selenium/AssessmentTest.java
@@ -1861,7 +1861,7 @@ public class AssessmentTest extends Deployments {
 		gtaConfig
 			.selectWorkflow()
 			.enableAssignment(false)
-			.enableSubmission(false)	
+			.enableSubmission(false)
 			.saveWorkflow();
 		
 		gtaConfig
@@ -1983,7 +1983,8 @@ public class AssessmentTest extends Deployments {
 			.selectWorkflow()
 			.optional(true)
 			.enableAssignment(false)
-			.enableSubmission(false)	
+			.enableSubmission(false)
+			.enableSolutionForAll(true)
 			.saveWorkflow();
 		
 		gtaConfig
diff --git a/src/test/java/org/olat/selenium/page/course/GroupTaskConfigurationPage.java b/src/test/java/org/olat/selenium/page/course/GroupTaskConfigurationPage.java
index 889c56a5254946e43503fc945f2399b8e37f0c00..6f2132188a8ef67da42924e623c2bc53b2fd5bb2 100644
--- a/src/test/java/org/olat/selenium/page/course/GroupTaskConfigurationPage.java
+++ b/src/test/java/org/olat/selenium/page/course/GroupTaskConfigurationPage.java
@@ -91,6 +91,18 @@ public class GroupTaskConfigurationPage {
 		return this;
 	}
 	
+	public GroupTaskConfigurationPage enableSolutionForAll(boolean forAll) {
+		By optionBy;
+		if(forAll) {
+			optionBy = By.xpath("//div[@id='o_covisibleall']//label/input[@name='visibleall'][@value='all']");
+		} else {
+			optionBy = By.xpath("//div[@id='o_covisibleall']//label/input[@name='visibleall'][@value='restricted']");
+		}
+		OOGraphene.waitElement(optionBy, browser);
+		browser.findElement(optionBy).click();;
+		return this;
+	}
+	
 	public GroupTaskConfigurationPage saveWorkflow() {
 		By saveBy = By.cssSelector(".o_sel_course_gta_save_workflow button.btn-primary");
 		browser.findElement(saveBy).click();