diff --git a/js/fea/DmaCell.js b/js/fea/DmaCell.js
index 78881c70d5609b58488e4d1fadcddd7be401751d..a4862a97a13125537d1f7ee80ceaed05023d484f 100644
--- a/js/fea/DmaCell.js
+++ b/js/fea/DmaCell.js
@@ -55,6 +55,13 @@ DMACell.prototype.hide = function(){
     });
 };
 
+DMACell.prototype.destroyParts = function(){
+    _.each(this.parts, function(part){
+        if (part) part.destroy();
+    });
+    this.parts = null;
+};
+
 DMACell.prototype._buildCellMesh = function(material){//called from every subclass
     var unitCellGeo = this._getGeometry();
     if (!material) material = cellMaterials;
@@ -215,11 +222,8 @@ DMACell.prototype.destroy = function(){
 //            material.dispose();
         this.cellMesh = null;
     }
-    _.each(this.parts, function(part){
-        if (part) part.destroy();
-    });
+    this.destroyParts();
     this.indices = null;
-    this.parts = null;
     this.nodes = null;
     this.beams = null;
 };
diff --git a/js/models/Lattice.js b/js/models/Lattice.js
index 0684541a707adbdcc8a44373e8c2e23b4a7c6875..f6a353896852b7bada3bfa0ee4879036183dabef 100644
--- a/js/models/Lattice.js
+++ b/js/models/Lattice.js
@@ -38,7 +38,7 @@ Lattice = Backbone.Model.extend({
         //bind events
         this.listenTo(this, "change:scale", this._scaleDidChange);
         this.listenTo(options.appState, "change:cellMode", this._updateForMode);
-        this.listenTo(this, "change:partType", this._updateForMode);
+        this.listenTo(this, "change:partType", this._updatePartType);
         this.listenTo(this, "change:cellType change:connectionType", this._updateLatticeType);
         this.listenTo(this, "change:cellSeparation", this._updateCellSeparation);
     },
@@ -304,6 +304,13 @@ Lattice = Backbone.Model.extend({
     ////////////////////////////////////EVENTS//////////////////////////////////////////
     ////////////////////////////////////////////////////////////////////////////////////
 
+    _updatePartType: function(){
+        this._iterCells(this.get("cells"), function(cell){
+            if (cell) cell.destroyParts();
+        });
+        this._updateForMode();
+    },
+
     _updateForMode: function(){
         var cellMode = dmaGlobals.appState.get("cellMode");
         var partType =  this.get("partType");
@@ -390,7 +397,8 @@ Lattice = Backbone.Model.extend({
                 if (!cell) return;
 
                 var index = _.clone(cell.indices);
-                var parts = _.clone(cell.parts);
+                var  parts = null;
+                if (loadingFromFile) parts = _.clone(cell.parts);
                 if (cell.parentOrientation) var parentOrientation = new THREE.Quaternion(cell.parentOrientation._x, cell.parentOrientation._y, cell.parentOrientation._z, cell.parentOrientation._w);
                 if (cell.parentPosition) var parentPos = cell.parentPosition;
                 if (cell.direction) var direction = new THREE.Vector3(cell.direction.x, cell.direction.y, cell.direction.z);