diff --git a/apps/opencs/model/world/columns.hpp b/apps/opencs/model/world/columns.hpp
index 75dfe15c2..b09c931b2 100644
--- a/apps/opencs/model/world/columns.hpp
+++ b/apps/opencs/model/world/columns.hpp
@@ -5,6 +5,8 @@
 
 #include <boost/lexical_cast.hpp>
 
+#include <QColor>
+
 #include "columnbase.hpp"
 
 namespace CSMWorld
@@ -591,6 +593,38 @@ namespace CSMWorld
             return true;
         }
     };
+
+    /// \todo QColor is a GUI class and should not be in model. Need to think of an alternative
+    /// solution.
+    template<typename ESXRecordT>
+    struct MapColourColumn : public Column<ESXRecordT>
+    {
+        /// \todo Replace Display_Integer with something that displays the colour value more directly.
+        MapColourColumn() : Column<ESXRecordT> ("Map Colour", ColumnBase::Display_Integer) {}
+
+        virtual QVariant get (const Record<ESXRecordT>& record) const
+        {
+            int colour = record.get().mMapColor;
+
+            return QColor (colour & 0xff, (colour>>8) & 0xff, (colour>>16) & 0xff);
+        }
+
+        virtual void set (Record<ESXRecordT>& record, const QVariant& data)
+        {
+            ESXRecordT record2 = record.get();
+
+            QColor colour = data.value<QColor>();
+
+            record2.mMapColor = colour.rgb() & 0xffffff;
+
+            record.setModified (record2);
+        }
+
+        virtual bool isEditable() const
+        {
+            return true;
+        }
+    };
 }
 
 #endif
\ No newline at end of file
diff --git a/apps/opencs/model/world/data.cpp b/apps/opencs/model/world/data.cpp
index 0c6f2b4ad..f45165687 100644
--- a/apps/opencs/model/world/data.cpp
+++ b/apps/opencs/model/world/data.cpp
@@ -90,6 +90,7 @@ CSMWorld::Data::Data()
     mRegions.addColumn (new StringIdColumn<ESM::Region>);
     mRegions.addColumn (new RecordStateColumn<ESM::Region>);
     mRegions.addColumn (new NameColumn<ESM::Region>);
+    mRegions.addColumn (new MapColourColumn<ESM::Region>);
 
     addModel (new IdTable (&mGlobals), UniversalId::Type_Globals, UniversalId::Type_Global);
     addModel (new IdTable (&mGmsts), UniversalId::Type_Gmsts, UniversalId::Type_Gmst);