diff --git a/src/view/network/GraphWidget.py b/src/view/network/GraphWidget.py
index 4496a291d2d1bcabde5fdfa0c4bc1bbec75b94f2..3288e8f92f024fa86d0933cc032bf6307182e18a 100644
--- a/src/view/network/GraphWidget.py
+++ b/src/view/network/GraphWidget.py
@@ -256,6 +256,9 @@ class GraphWidget(QGraphicsView):
         self.edge_items = []
         self.texts = {}
 
+        self.m_origin_x = 0.0
+        self.m_origin_y = 0.0
+
         scene = QGraphicsScene(self)
         scene.setItemIndexMethod(QGraphicsScene.NoIndex)
         scene.setSceneRect(0, 0, 2000, 2000)
@@ -673,7 +676,20 @@ class GraphWidget(QGraphicsView):
                 self.tmp_line.dest = pos
             self.tmp_line.update()
 
-        # If state is "move" propagate event
+        # If state is "move"
         if self._state == "move":
+            # Move on scene
+            if (not self.selected_item() and
+                event.buttons() & Qt.LeftButton):
+                old_p = self.mapToScene(self.m_origin_x, self.m_origin_y)
+                new_p = self.mapToScene(event.pos())
+                translation = new_p - old_p
+
+                self.translate(translation.x(), translation.y())
+
+                self.m_origin_x = event.x()
+                self.m_origin_y = event.y()
+
+            # Propagate event
             self.update()
             super(GraphWidget, self).mouseMoveEvent(event)