Index: protocol/pom.xml
===================================================================
--- protocol/pom.xml	(revision 31)
+++ protocol/pom.xml	(revision 32)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb</groupId>
 	<artifactId>protocol</artifactId>
-	<version>1.6.0</version> <!-- must equal ${geniusweb.version} -->
+	<version>1.6.1</version> <!-- must equal ${geniusweb.version} -->
 	<packaging>jar</packaging>
 
@@ -17,5 +17,5 @@
 		<passwd>${env.ARTIFACTORY_PASS}</passwd>
 		<jackson-2-version>2.9.10</jackson-2-version>
-		<geniusweb.version>1.6.0</geniusweb.version>
+		<geniusweb.version>1.6.1</geniusweb.version>
 	</properties>
 
@@ -23,5 +23,5 @@
 		<repository>
 			<id>artifactory.ewi.tudelft.nl</id>
-			<url>http://artifactory.ewi.tudelft.nl/artifactory/libs-release</url>
+			<url>https://artifactory.ewi.tudelft.nl/artifactory/libs-release</url>
 		</repository>
 	</distributionManagement>
@@ -137,5 +137,5 @@
 		<repository>
 			<id>artifactory.ewi.tudelft.nl</id>
-			<url>http://artifactory.ewi.tudelft.nl/artifactory/libs-release</url>
+			<url>https://artifactory.ewi.tudelft.nl/artifactory/libs-release</url>
 			<snapshots>
 				<enabled>false</enabled>
Index: protocol/src/main/java/geniusweb/protocol/session/learn/LearnSettings.java
===================================================================
--- protocol/src/main/java/geniusweb/protocol/session/learn/LearnSettings.java	(revision 31)
+++ protocol/src/main/java/geniusweb/protocol/session/learn/LearnSettings.java	(revision 32)
@@ -9,5 +9,4 @@
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.databind.ObjectMapper;
 
 import geniusweb.actions.FileLocation;
@@ -27,6 +26,4 @@
 	private final List<TeamInfo> participants;
 	private final Deadline deadline;
-
-	private final static ObjectMapper jackson = new ObjectMapper();
 
 	/**
Index: protocol/src/main/java/geniusweb/protocol/tournament/allpermutations/AllPermutationsSettings.java
===================================================================
--- protocol/src/main/java/geniusweb/protocol/tournament/allpermutations/AllPermutationsSettings.java	(revision 31)
+++ protocol/src/main/java/geniusweb/protocol/tournament/allpermutations/AllPermutationsSettings.java	(revision 32)
@@ -135,4 +135,12 @@
 	}
 
+	/**
+	 * 
+	 * @return number of times the entire tournament is repeated, &gt;0
+	 */
+	public int getNrTournaments() {
+		return this.numberTournaments;
+	}
+
 	@Override
 	public TournamentProtocol getProtocol(Reporter logger) {
@@ -151,6 +159,9 @@
 		ImmutableList<ProfileList> profileslist = new FixedList<ProfileList>(
 				profileslists);
-		partylistlist = getParticipants(partieslist, profileslist,
+		partylistlist = getParticipantsOneTournament(partieslist, profileslist,
 				teamsPerSession, reuseTeams);
+		partylistlist = new Repeat<ImmutableList<TeamInfo>>(partylistlist,
+				BigInteger.valueOf(numberTournaments), true);
+
 		return new MapList<>(partyproflist -> createSetting(partyproflist),
 				partylistlist);
@@ -241,5 +252,5 @@
 	 *         drawn with replace.
 	 */
-	protected ImmutableList<ImmutableList<TeamInfo>> getParticipants(
+	protected ImmutableList<ImmutableList<TeamInfo>> getParticipantsOneTournament(
 			ImmutableList<Team> parties, ImmutableList<ProfileList> profiles,
 			int n, boolean drawPartyWithPutback) {
@@ -260,8 +271,6 @@
 				partiesPermutations, profilesPermutations);
 
-		MapList<Tuple<ImmutableList<Team>, ImmutableList<ProfileList>>, ImmutableList<TeamInfo>> tournamentsettings = new MapList<Tuple<ImmutableList<Team>, ImmutableList<ProfileList>>, ImmutableList<TeamInfo>>(
+		return new MapList<Tuple<ImmutableList<Team>, ImmutableList<ProfileList>>, ImmutableList<TeamInfo>>(
 				tuple -> teamlist(tuple), tuples);
-		return new Repeat<ImmutableList<TeamInfo>>(tournamentsettings,
-				BigInteger.valueOf(numberTournaments), true);
 	}
 
Index: protocol/src/main/java/geniusweb/protocol/tournament/allpermutationslearn/AllPermutationsLearnSettings.java
===================================================================
--- protocol/src/main/java/geniusweb/protocol/tournament/allpermutationslearn/AllPermutationsLearnSettings.java	(revision 31)
+++ protocol/src/main/java/geniusweb/protocol/tournament/allpermutationslearn/AllPermutationsLearnSettings.java	(revision 32)
@@ -118,6 +118,13 @@
 	@Override
 	public ImmutableList<SessionSettings> permutations() {
-		ImmutableList<SessionSettings> allsessionsettings = super.permutations();
-		if (allsessionsettings.size()
+
+		ImmutableList<ImmutableList<TeamInfo>> partylistlist;
+		ImmutableList<Team> partieslist = new FixedList<Team>(teams);
+		ImmutableList<ProfileList> profileslist = new FixedList<ProfileList>(
+				profileslists);
+		partylistlist = getParticipantsOneTournament(partieslist, profileslist,
+				teamsPerSession, reuseTeams);
+
+		if (partylistlist.size().multiply(BigInteger.valueOf(numberTournaments))
 				.compareTo(BigInteger.valueOf(MAX_SESSIONS)) > 0)
 			throw new IllegalArgumentException(
@@ -125,19 +132,19 @@
 							+ MAX_SESSIONS);
 
-		FixedList<FixedList<FileLocation>> filelocs = createFileLocations(
-				allsessionsettings.size().longValue());
-
-		ImmutableList<ImmutableList<TeamInfo>> partylistlist;
-		ImmutableList<Team> partieslist = new FixedList<Team>(teams);
-		ImmutableList<ProfileList> profileslist = new FixedList<ProfileList>(
-				profileslists);
-		partylistlist = getParticipants(partieslist, profileslist,
-				teamsPerSession, reuseTeams);
-		ImmutableList<SessionSettings> settings = new MapThreadList<>(
-				(parties, flocs) -> createSetting(parties, flocs),
-				partylistlist, filelocs);
-
-		return new JoinedList<SessionSettings>(settings,
-				getLearnSessions(filelocs, partylistlist));
+		// we have to generate separate filelocations for each session...
+		ImmutableList<SessionSettings> allSettings = null;
+		for (int tournamentnr = 0; tournamentnr < getNrTournaments(); tournamentnr++) {
+			FixedList<FixedList<FileLocation>> filelocs = createFileLocations(
+					partylistlist.size().longValue());
+			ImmutableList<SessionSettings> settings = new MapThreadList<>(
+					(parties, flocs) -> createSetting(parties, flocs),
+					partylistlist, filelocs);
+			settings = new JoinedList<SessionSettings>(settings,
+					getLearnSessions(filelocs, partylistlist));
+			allSettings = allSettings == null ? settings
+					: new JoinedList<SessionSettings>(allSettings, settings);
+		}
+
+		return allSettings;
 	}
 
Index: protocol/src/test/java/geniusweb/protocol/tournament/allpermutationslearn/AllPermutationsLearnSettingsTest.java
===================================================================
--- protocol/src/test/java/geniusweb/protocol/tournament/allpermutationslearn/AllPermutationsLearnSettingsTest.java	(revision 31)
+++ protocol/src/test/java/geniusweb/protocol/tournament/allpermutationslearn/AllPermutationsLearnSettingsTest.java	(revision 32)
@@ -219,4 +219,6 @@
 		// #permutations + 1 training session
 		assertEquals(7, settings.permutations().size().intValue());
+		// 2* settings because 2 tournaments
+		assertEquals(14, settings5.permutations().size().intValue());
 	}
 
@@ -231,8 +233,11 @@
 				parties3, profiles, false, 2, saopsettings, 2, learnsettings);
 		ImmutableList<SessionSettings> perms = settings3parties.permutations();
-		// 3 parties, 3 profiles, 2 parties per session, 2 tournaments = 2*18
-		assertEquals(37, perms.size().intValue());
+		// 3 parties, 3 profiles, 2 parties per session, = 18 , + 1 learn, *2
+		// tournaments
+		assertEquals(38, perms.size().intValue());
+
+		// get the last setting, which must be a LearnSetting.
 		LearnSettings learnsetting = (LearnSettings) perms
-				.get(BigInteger.valueOf(36));
+				.get(BigInteger.valueOf(37));
 		assertEquals(3, learnsetting.getAllParties().size());
 		Parameters party1params = learnsetting.getAllParties().get(0).getParty()
@@ -241,5 +246,5 @@
 				party1params.get("persistentstate").toString());
 		List negodata = (List) party1params.get("negotiationdata");
-		assertEquals(24, negodata.size());
+		assertEquals(12, negodata.size());
 	}
 
