diff --git a/LGPL/chr/Makefile.in b/LGPL/chr/Makefile.in
index 062de0d91..8b9aeb45a 100644
--- a/LGPL/chr/Makefile.in
+++ b/LGPL/chr/Makefile.in
@@ -11,7 +11,7 @@ srcdir=@srcdir@
SHELL=@SHELL@
PLBASE=@PLBASE@
PLARCH=@PLARCH@
-PL="../../yap"
+PL=../../yap ../../startup
XPCEBASE=$(PLBASE)/xpce
PKGDOC=$(PLBASE)/doc/packages
PCEHOME=../../xpce
diff --git a/changes-5.1.html b/changes-5.1.html
index a5696c75d..31cd83802 100644
--- a/changes-5.1.html
+++ b/changes-5.1.html
@@ -16,6 +16,10 @@
Yap-5.1.3:
+- FIXED: make thread_create more compatible with SWI. (obs from
+Paulo Moura)
+- FIXED: give startup path to chr. (obs from Paulo Moura)
+- FIXED: optimise pre-compiled meta-calls.
- FIXED: CLP(BN) with BNT.
- FIXED: allow dgraphs with graphs of vars.
- FIXED: add matrix library documentation.
diff --git a/pl/threads.yap b/pl/threads.yap
index 0ece84a76..205223b4f 100644
--- a/pl/threads.yap
+++ b/pl/threads.yap
@@ -68,7 +68,7 @@ thread_create(Goal) :-
'$create_mq'(Id),
'$create_thread'(Goal, Stack, Trail, System, Detached, Id).
-thread_create(Goal, Id) :-
+thread_create(Goal, OutId) :-
G0 = thread_create(Goal, Id),
'$check_callable'(Goal, G0),
( nonvar(Id) -> '$do_error'(type_error(variable,Id),G0) ; true ),
@@ -77,9 +77,10 @@ thread_create(Goal, Id) :-
'$erase_thread_info'(Id),
'$record_thread_info'(Id, [Stack, Trail, System], Detached),
'$create_mq'(Id),
- '$create_thread'(Goal, Stack, Trail, System, Detached, Id).
+ '$create_thread'(Goal, Stack, Trail, System, Detached, Id),
+ OutId = Id.
-thread_create(Goal, Id, Options) :-
+thread_create(Goal, OutId, Options) :-
G0 = thread_create(Goal, Id, Options),
'$check_callable'(Goal,G0),
( nonvar(Id) -> '$do_error'(type_error(variable,Id),G0) ; true ),
@@ -91,7 +92,8 @@ thread_create(Goal, Id, Options) :-
; '$record_thread_info'(Id, Alias, [Stack, Trail, System], Detached, G0)
),
'$create_mq'(Id),
- '$create_thread'(Goal, Stack, Trail, System, Detached, Id).
+ '$create_thread'(Goal, Stack, Trail, System, Detached, Id),
+ OutId = Id.
'$erase_thread_info'(Id) :-
recorded('$thread_exit_status', [Id|_], R),