diff --git a/js/threeViews/Highlighter.js b/js/threeViews/Highlighter.js
index a5201a92d363628cb8ec45e703252512a7a31dc4..94f13021bd7bf5c184f8d7b212645abe5220c88f 100644
--- a/js/threeViews/Highlighter.js
+++ b/js/threeViews/Highlighter.js
@@ -84,6 +84,11 @@ Highlighter = Backbone.View.extend({
     /////////////////////////////POSITION/SCALE////////////////////////////////////////
     ///////////////////////////////////////////////////////////////////////////////////
 
+    getHighlightedObjectPosition: function(){
+        if (this.highlightedObject instanceof DMACell) return this.highlightedObject.getPosition();
+        return null;
+    },
+
     updateScale: function(scale){
         this.mesh.scale.set(scale, scale, scale);
     },
diff --git a/js/threeViews/ThreeView.js b/js/threeViews/ThreeView.js
index e2d74f7746c3c53c1b11f85469875881df45a631..e3b732ff043087c1f7943c142556e943a9837332 100644
--- a/js/threeViews/ThreeView.js
+++ b/js/threeViews/ThreeView.js
@@ -68,6 +68,13 @@ ThreeView = Backbone.View.extend({
 
     _mouseUp: function(){
         this.mouseIsDown = false;
+        if (dmaGlobals.appState.get("currentTab") == "cam" && dmaGlobals.appState.get("manualSelectOrigin")){
+            var position = this.highlighter.getHighlightedObjectPosition();
+            if (position){
+                dmaGlobals.assembler.set("originPosition", position);
+                return;
+            }
+        }
         if (this.currentIntersectedPart) this.currentIntersectedPart.removeFromCell();
         else this.highlighter.addRemoveVoxel(!this.appState.get("deleteMode"));
     },