diff --git a/src/test/scala/com/ericsson/gerrit/plugins/gcconductor/scenarios/CheckProjectStatisticsUpToGc.scala b/src/test/scala/com/ericsson/gerrit/plugins/gcconductor/scenarios/CheckProjectStatisticsUpToGc.scala
index 5c6fe09..b4b73ec 100644
--- a/src/test/scala/com/ericsson/gerrit/plugins/gcconductor/scenarios/CheckProjectStatisticsUpToGc.scala
+++ b/src/test/scala/com/ericsson/gerrit/plugins/gcconductor/scenarios/CheckProjectStatisticsUpToGc.scala
@@ -29,9 +29,9 @@
 
   override def relativeRuntimeWeight: Int = MaxSecondsForGcToComplete / SecondsPerWeightUnit
 
-  def this(default: String) {
+  def this(projectName: String) {
     this()
-    this.default = default
+    this.projectName = projectName
   }
 
   val test: ScenarioBuilder = scenario(uniqueName)
diff --git a/src/test/scala/com/ericsson/gerrit/plugins/gcconductor/scenarios/CreateChangesTriggeringGc.scala b/src/test/scala/com/ericsson/gerrit/plugins/gcconductor/scenarios/CreateChangesTriggeringGc.scala
index 98e6c4f..bc74935 100644
--- a/src/test/scala/com/ericsson/gerrit/plugins/gcconductor/scenarios/CreateChangesTriggeringGc.scala
+++ b/src/test/scala/com/ericsson/gerrit/plugins/gcconductor/scenarios/CreateChangesTriggeringGc.scala
@@ -40,9 +40,9 @@
 
   override def relativeRuntimeWeight: Int = maxSecondsToEnqueueGc / SecondsPerWeightUnit
 
-  def this(default: String, deleteChanges: DeleteChangesAfterGc) {
+  def this(projectName: String, deleteChanges: DeleteChangesAfterGc) {
     this()
-    this.default = default
+    this.projectName = projectName
     this.deleteChanges = deleteChanges
   }
 
@@ -56,7 +56,7 @@
       session
     })
 
-  private val checkStatsUpToGc = new CheckProjectStatisticsUpToGc(default)
+  private val checkStatsUpToGc = new CheckProjectStatisticsUpToGc(projectName)
   private var deleteChanges = new DeleteChangesAfterGc
 
   setUp(
diff --git a/src/test/scala/com/ericsson/gerrit/plugins/gcconductor/scenarios/CreateChangesTriggeringGcWithProject.scala b/src/test/scala/com/ericsson/gerrit/plugins/gcconductor/scenarios/CreateChangesTriggeringGcWithProject.scala
index cd2cb0d..7c1b201 100644
--- a/src/test/scala/com/ericsson/gerrit/plugins/gcconductor/scenarios/CreateChangesTriggeringGcWithProject.scala
+++ b/src/test/scala/com/ericsson/gerrit/plugins/gcconductor/scenarios/CreateChangesTriggeringGcWithProject.scala
@@ -20,13 +20,13 @@
 import scala.concurrent.duration._
 
 class CreateChangesTriggeringGcWithProject extends GerritSimulation {
-  private val default = className
+  private val projectName = className
 
-  private val createProject = new CreateProject(default)
+  private val createProject = new CreateProject(projectName)
   private val deleteChanges = new DeleteChangesAfterGc
-  private val createChanges = new CreateChangesTriggeringGc(default, deleteChanges)
-  private val checkStatsUpToGc = new CheckProjectStatisticsUpToGc(default)
-  private val deleteProject = new DeleteProject(default)
+  private val createChanges = new CreateChangesTriggeringGc(projectName, deleteChanges)
+  private val checkStatsUpToGc = new CheckProjectStatisticsUpToGc(projectName)
+  private val deleteProject = new DeleteProject(projectName)
 
   setUp(
     createProject.test.inject(
