I found the solution myself. Here: https://www.3mind.at/2009/05/06/code-highlighting/
Backup the current $post object at the beginning of our code and copy it back at the end, where you also call the built-in function wp_reset_query().
<?php //for use in the loop, list 5 post titles related to first tag on current post
$backup = $post; // backup the current object
$tags = wp_get_post_tags($post->ID);
$tagIDs = array();
if ($tags) {
$tagcount = count($tags);
for ($i = 0; $i < $tagcount; $i++) {
$tagIDs[$i] = $tags[$i]->term_id;
}
$args=array(
‘tag__in’ => $tagIDs,
‘post__not_in’ => array($post->ID),
‘showposts’=>5,
‘caller_get_posts’=>1
);
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post(); ?>
<h3>” rel=”bookmark” title=”<?php the_title(); ?>”><?php the_title(); ?></h3>
<?php endwhile;
}
}
$post = $backup; // copy it back
wp_reset_query(); // to use the original query again
?>