diff --git a/examples/menu.rs b/examples/menu.rs
index 4f3dbf3072e0c9f06c7b853e80198c999065dcfb..eb09eeb343cf7c3286cfa4c0935296932c7d9e36 100644
--- a/examples/menu.rs
+++ b/examples/menu.rs
@@ -43,7 +43,7 @@ fn setup(mut commands: Commands, asset_server: Res<AssetServer>) {
             color: UiColor(Color::NONE),
             ..Default::default()
         })
-        .insert(Name::new("container"))
+        .insert(Name::new("menu"))
         .id();
 
     let mut start_time_ms = 0;
diff --git a/src/tweenable.rs b/src/tweenable.rs
index bdb5ab2572feff71ab14d58c43d62ccdb2448460..ae706b231a512735acc3f7977fa7a3ef28cd2373 100644
--- a/src/tweenable.rs
+++ b/src/tweenable.rs
@@ -165,7 +165,10 @@ impl<T> Tweenable<T> for Tween<T> {
         self.lens.lerp(target, factor);
 
         if self.timer.just_finished() {
-            self.state = TweenState::Ended;
+            if self.tweening_type == TweeningType::Once {
+                self.state = TweenState::Ended;
+            }
+
             // This is always true for non ping-pong, and is true for ping-pong when
             // coming back to start after a full cycle start -> end -> start.
             if self.direction == TweeningDirection::Forward {