| 
					
				 | 
			
			
				@@ -573,10 +573,13 @@ void MMU2::SaveAndPark(bool move_axes, bool turn_off_nozzle) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             raise_z(MMU_ERR_Z_PAUSE_LIFT); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // move XY aside 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            current_position[X_AXIS] = MMU_ERR_X_PAUSE_POS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            current_position[Y_AXIS] = MMU_ERR_Y_PAUSE_POS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            plan_buffer_line_curposXYZE(NOZZLE_PARK_XY_FEEDRATE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            st_synchronize(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (axis_known_position[X_AXIS] && axis_known_position[Y_AXIS]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                current_position[X_AXIS] = MMU_ERR_X_PAUSE_POS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                current_position[Y_AXIS] = MMU_ERR_Y_PAUSE_POS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                plan_buffer_line_curposXYZE(NOZZLE_PARK_XY_FEEDRATE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                st_synchronize(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (turn_off_nozzle){ 
			 |