diff --git a/src/js/step.js b/src/js/step.js
index <HASH>..<HASH> 100644
--- a/src/js/step.js
+++ b/src/js/step.js
@@ -290,9 +290,11 @@ export class Step extends Evented {
    * @private
    */
   _setOptions(options = {}) {
-    const tourOptions =
+    let tourOptions =
       this.tour && this.tour.options && this.tour.options.defaultStepOptions;
 
+    tourOptions = tourOptions ? JSON.parse(JSON.stringify(tourOptions)) : {};
+
     this.options = Object.assign(
       {
         arrow: true
Deep copy defaultStepOptions (#<I>)

This avoids keeping a polluted state around when setting up multiple step options.



Fixes #<I>