diff --git a/assignment-client/src/AssignmentClient.cpp b/assignment-client/src/AssignmentClient.cpp
index 40d3adab62..3b209f2e57 100644
--- a/assignment-client/src/AssignmentClient.cpp
+++ b/assignment-client/src/AssignmentClient.cpp
@@ -174,9 +174,6 @@ void AssignmentClient::assignmentCompleted() {
     
     NodeList* nodeList = NodeList::getInstance();
     
-    // move the NodeList back to our thread
-    nodeList->moveToThread(thread());
-    
     // reset our NodeList by switching back to unassigned and clearing the list
     nodeList->setOwnerType(NODE_TYPE_UNASSIGNED);
     nodeList->reset();
diff --git a/assignment-client/src/metavoxels/MetavoxelServer.cpp b/assignment-client/src/metavoxels/MetavoxelServer.cpp
index bb3787137d..af982abf9b 100644
--- a/assignment-client/src/metavoxels/MetavoxelServer.cpp
+++ b/assignment-client/src/metavoxels/MetavoxelServer.cpp
@@ -29,7 +29,7 @@ void MetavoxelServer::removeSession(const QUuid& sessionId) {
     delete _sessions.take(sessionId);
 }
 
-const char METAVOXEL_SERVER_LOGGING_NAME[] = "avatar-mixer";
+const char METAVOXEL_SERVER_LOGGING_NAME[] = "metavoxel-server";
 
 void MetavoxelServer::run() {
     commonInit(METAVOXEL_SERVER_LOGGING_NAME, NODE_TYPE_METAVOXEL_SERVER);
diff --git a/libraries/shared/src/ThreadedAssignment.cpp b/libraries/shared/src/ThreadedAssignment.cpp
index 8411c26fc6..7c7e07863a 100644
--- a/libraries/shared/src/ThreadedAssignment.cpp
+++ b/libraries/shared/src/ThreadedAssignment.cpp
@@ -6,7 +6,8 @@
 //  Copyright (c) 2013 HighFidelity, Inc. All rights reserved.
 //
 
-#include <QTimer>
+#include <QtCore/QCoreApplication>
+#include <QtCore/QTimer>
 
 #include "Logging.h"
 #include "ThreadedAssignment.h"
@@ -18,6 +19,12 @@ ThreadedAssignment::ThreadedAssignment(const unsigned char* dataBuffer, int numB
     
 }
 
+void ThreadedAssignment::deleteLater() {
+    // move the NodeList back to the QCoreApplication instance's thread
+    NodeList::getInstance()->moveToThread(QCoreApplication::instance()->thread());
+    QObject::deleteLater();
+}
+
 void ThreadedAssignment::setFinished(bool isFinished) {
     _isFinished = isFinished;
 
diff --git a/libraries/shared/src/ThreadedAssignment.h b/libraries/shared/src/ThreadedAssignment.h
index 0dfd8a320f..301a81bcf3 100644
--- a/libraries/shared/src/ThreadedAssignment.h
+++ b/libraries/shared/src/ThreadedAssignment.h
@@ -21,6 +21,8 @@ public slots:
     /// threaded run of assignment
     virtual void run() = 0;
     
+    virtual void deleteLater();
+    
     virtual void processDatagram(const QByteArray& dataByteArray, const HifiSockAddr& senderSockAddr) = 0;
 protected:
     void commonInit(const char* targetName, NODE_TYPE nodeType);