diff --git a/src/primitives/a-tube.js b/src/primitives/a-tube.js
index <HASH>..<HASH> 100644
--- a/src/primitives/a-tube.js
+++ b/src/primitives/a-tube.js
@@ -15,7 +15,7 @@ module.exports.Primitive = AFRAME.registerPrimitive('a-tube', {
     path:           'tube.path',
     segments:       'tube.segments',
     radius:         'tube.radius',
-    radialSegments: 'tube.radialSegments',
+    'radial-segments': 'tube.radialSegments',
     closed:         'tube.closed'
   }
 });
@@ -56,6 +56,13 @@ module.exports.Component = AFRAME.registerComponent('tube', {
     this.el.setObject3D('mesh', this.mesh);
   },
 
+  update: function (prevData) {
+    if (!Object.keys(prevData).length) return;
+
+    this.remove();
+    this.init();
+  },
+
   remove: function () {
     if (this.mesh) this.el.removeObject3D('mesh');
   }
[a-tube] Fix primitive and update issues. (fixes #<I>, #<I>)