diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c
index cd0beab..2d4f6f3 100644
--- a/dlls/ntdll/virtual.c
+++ b/dlls/ntdll/virtual.c
@@ -1386,7 +1386,8 @@
     {
         /* return the values that the caller should use to unmap the area */
         *addr_ptr = view->base;
-        *size_ptr = view->size;
+        if (!wine_mmap_is_in_reserved_area( view->base, view->size )) *size_ptr = view->size;
+        else *size_ptr = 0;  /* make sure we don't munmap anything from a reserved area */
         view->flags |= VFLAG_SYSTEM;
         delete_view( view );
     }
diff --git a/loader/kthread.c b/loader/kthread.c
index a012aad..577311b 100644
--- a/loader/kthread.c
+++ b/loader/kthread.c
@@ -190,8 +190,8 @@
     /* copy the info structure since it is on the stack we will free */
     struct wine_pthread_thread_info info = *(struct wine_pthread_thread_info *)ptr;
     wine_ldt_free_fs( info.teb_sel );
-    munmap( info.stack_base, info.stack_size );
-    munmap( info.teb_base, info.teb_size );
+    if (info.stack_size) munmap( info.stack_base, info.stack_size );
+    if (info.teb_size) munmap( info.teb_base, info.teb_size );
 #ifdef HAVE__LWP_CREATE
     _lwp_exit();
 #endif
diff --git a/loader/pthread.c b/loader/pthread.c
index b7487a0..a976c4f 100644
--- a/loader/pthread.c
+++ b/loader/pthread.c
@@ -159,7 +159,7 @@
 static void DECLSPEC_NORETURN exit_thread( struct wine_pthread_thread_info *info )
 {
     wine_ldt_free_fs( info->teb_sel );
-    munmap( info->teb_base, info->teb_size );
+    if (info->teb_size) munmap( info->teb_base, info->teb_size );
     pthread_exit( (void *)info->exit_status );
 }
 
