diff --git a/pom.xml b/pom.xml
index e0d5456..74618a4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
de.srsoftware
web4rail
- 1.5.10
+ 1.5.11
Web4Rail
jar
Java Model Railway Control
diff --git a/src/main/java/de/srsoftware/web4rail/actions/TriggerContact.java b/src/main/java/de/srsoftware/web4rail/actions/TriggerContact.java
index 339da91..f093bc8 100644
--- a/src/main/java/de/srsoftware/web4rail/actions/TriggerContact.java
+++ b/src/main/java/de/srsoftware/web4rail/actions/TriggerContact.java
@@ -6,6 +6,7 @@ import java.util.Map;
import org.json.JSONObject;
import de.srsoftware.web4rail.BaseClass;
+import de.srsoftware.web4rail.LoadCallback;
import de.srsoftware.web4rail.Params;
import de.srsoftware.web4rail.tags.Fieldset;
import de.srsoftware.web4rail.tags.Window;
@@ -42,7 +43,14 @@ public class TriggerContact extends Action {
public Action load(JSONObject json) {
super.load(json);
Id contactId = Id.from(json,CONTACT);
- if (isSet(contactId)) contact = Contact.get(contactId);
+ if (isSet(contactId)) new LoadCallback() {
+
+ @Override
+ public void afterLoad() {
+ contact = Contact.get(contactId);
+ }
+ };
+
return this;
}
diff --git a/src/main/java/de/srsoftware/web4rail/moving/Train.java b/src/main/java/de/srsoftware/web4rail/moving/Train.java
index abe392f..0e907e4 100644
--- a/src/main/java/de/srsoftware/web4rail/moving/Train.java
+++ b/src/main/java/de/srsoftware/web4rail/moving/Train.java
@@ -1171,7 +1171,9 @@ public class Train extends BaseClass implements Comparable {
} else { // behind train
if (Route.freeBehindTrain) {
LOG.debug("{} is behind train and will be freed in the next step",tile);
- trace.add(tile); // old trace will be cleared afterwards
+ if (tile != route.endBlock()) { // if train is shorter than contact after endblock, the endblock would be cleared…
+ trace.add(tile); // old trace will be cleared afterwards
+ }
} else {
LOG.debug("{} is behind train and will be reset to \"locked\" state",tile);
tile.lockFor(context,true);