diff --git a/scripts/system/create/edit.js b/scripts/system/create/edit.js
index 9bb30ea01f..dabdfe34f9 100644
--- a/scripts/system/create/edit.js
+++ b/scripts/system/create/edit.js
@@ -156,7 +156,7 @@
 
     selectionManager.addEventListener(function () {
         selectionDisplay.updateHandles();
-        entityIconOverlayManager.updatePositions();
+        entityIconOverlayManager.updatePositions(selectionManager.selections);
         entityShapeVisualizer.setEntities(selectionManager.selections);
     });
 
diff --git a/scripts/system/create/entityList/entityList.js b/scripts/system/create/entityList/entityList.js
index 86f4ccd1fd..257f967852 100644
--- a/scripts/system/create/entityList/entityList.js
+++ b/scripts/system/create/entityList/entityList.js
@@ -109,6 +109,10 @@ var EntityListTool = function(shouldUseEditTabletApp, selectionManager) {
             // ignore events that we emitted from the entity list itself
             return;
         }
+        // Otherwise this will emit tens of events every second when objects are moved.
+        if (!isSelectionUpdate) {
+            return;
+        }
         var selectedIDs = [];
 
         for (var i = 0; i < that.selectionManager.selections.length; i++) {
diff --git a/scripts/system/create/entitySelectionTool/entitySelectionTool.js b/scripts/system/create/entitySelectionTool/entitySelectionTool.js
index 38a0d684cc..8b23ef051a 100644
--- a/scripts/system/create/entitySelectionTool/entitySelectionTool.js
+++ b/scripts/system/create/entitySelectionTool/entitySelectionTool.js
@@ -1082,8 +1082,8 @@ SelectionDisplay = (function() {
         text: "",
         textColor: { red: 0, green: 0, blue: 0 },
         backgroundColor: { red: 255, green: 255, blue: 255 },
-        textAlpha: 0.7,
-        backgroundAlpha: 0.7,
+        textAlpha: 1.0,
+        backgroundAlpha: 1.0,
         visible: false,
         billboardMode: "full",
         renderLayer: "front",
diff --git a/scripts/system/libraries/entityIconOverlayManager.js b/scripts/system/libraries/entityIconOverlayManager.js
index f2ca5625ea..fa73444d1e 100644
--- a/scripts/system/libraries/entityIconOverlayManager.js
+++ b/scripts/system/libraries/entityIconOverlayManager.js
@@ -16,20 +16,33 @@ EntityIconOverlayManager = function(entityTypes, getOverlayPropertiesFunc) {
     // Map from EntityItemID to EntityItemID object
     var entityIDs = {};
 
+    function updateEntity(entityID) {
+        var properties = Entities.getEntityProperties(entityID);
+        var overlayProperties = {
+            position: properties.position
+        };
+        if (getOverlayPropertiesFunc) {
+            var customProperties = getOverlayPropertiesFunc(entityID, properties);
+            for (var key in customProperties) {
+                overlayProperties[key] = customProperties[key];
+            }
+        }
+        Entities.editEntity(entityOverlays[entityID], overlayProperties);
+    }
+
     this.updatePositions = function(ids) {
-        for (var id in entityIDs) {
-            var entityID = entityIDs[id];
-            var properties = Entities.getEntityProperties(entityID);
-            var overlayProperties = {
-                position: properties.position
-            };
-            if (getOverlayPropertiesFunc) {
-                var customProperties = getOverlayPropertiesFunc(entityID, properties);
-                for (var key in customProperties) {
-                    overlayProperties[key] = customProperties[key];
+        if (ids) {
+            for (var index in ids) {
+                var id = ids[index];
+                if (entityIDs[id]) {
+                    updateEntity(entityIDs[id]);
                 }
             }
-            Entities.editEntity(entityOverlays[entityID], overlayProperties);
+        } else {
+            for (var id in entityIDs) {
+                var entityID = entityIDs[id];
+                updateEntity(entityID);
+            }
         }
     };