diff --git a/source/blender/editors/armature/pose_slide.c b/source/blender/editors/armature/pose_slide.c
index 13b3c04b530b6df73b56e765d6f1930041988bef..88eb650482351d2f4a7565c99e85ea2622c5a051 100644
--- a/source/blender/editors/armature/pose_slide.c
+++ b/source/blender/editors/armature/pose_slide.c
@@ -277,6 +277,10 @@ static int pose_slide_init(bContext *C, wmOperator *op, ePoseSlide_Modes mode)
   pso->num.val_flag[0] |= NUM_NO_NEGATIVE;
   pso->num.unit_type[0] = B_UNIT_NONE; /* Percentages don't have any units. */
 
+  /* Save current bone visibility. */
+  View3D *v3d = pso->area->spacedata.first;
+  pso->overlay_flag = v3d->overlay.flag;
+
   /* Return status is whether we've got all the data we were requested to get. */
   return 1;
 }
@@ -1111,10 +1115,6 @@ static int pose_slide_invoke_common(bContext *C, wmOperator *op, const wmEvent *
   /* Add a modal handler for this operator. */
   WM_event_add_modal_handler(C, op);
 
-  /* Save current bone visibility. */
-  View3D *v3d = pso->area->spacedata.first;
-  pso->overlay_flag = v3d->overlay.flag;
-
   return OPERATOR_RUNNING_MODAL;
 }