diff --git a/source/blender/blenkernel/intern/blender.c b/source/blender/blenkernel/intern/blender.c
index 466c69ce6398d062de0de50529a3f21d8c3f0def..2b7a5b446e5c58019c7273427456c86289e73095 100644
--- a/source/blender/blenkernel/intern/blender.c
+++ b/source/blender/blenkernel/intern/blender.c
@@ -385,7 +385,10 @@ static void setup_app_data(BlendFileData *bfd, char *filename)
 	for(base= G.scene->base.first; base; base=base->next) {
 		ob= base->object;
 		if(ob->flag & OB_POSEMODE) {
-			if(ob->type==OB_ARMATURE) G.obpose= ob;
+			if(ob->type==OB_ARMATURE && G.scene->basact && G.scene->basact->object==ob) 
+				G.obpose= ob;
+			else
+				ob->flag &= ~OB_POSEMODE;
 		}
 	}