diff --git a/apps/opencs/view/world/enumdelegate.cpp b/apps/opencs/view/world/enumdelegate.cpp
index 7c305b1b6b..eb523f7818 100644
--- a/apps/opencs/view/world/enumdelegate.cpp
+++ b/apps/opencs/view/world/enumdelegate.cpp
@@ -21,7 +21,9 @@ void CSVWorld::EnumDelegate::setModelDataImp (QWidget *editor, QAbstractItemMode
             iter!=mValues.end(); ++iter)
             if (iter->second==value)
             {
-                addCommands (model, index, iter->first);
+                // do nothing if the value has not changed
+                if (model->data(index).toInt() != iter->first)
+                    addCommands (model, index, iter->first);
                 break;
             }
     }