fix another destructive mapcan bug