diff --git a/src/QtLocationPlugin/QGCMapEngine.cpp b/src/QtLocationPlugin/QGCMapEngine.cpp
index 571ce69..2b694f5 100644
--- a/src/QtLocationPlugin/QGCMapEngine.cpp
+++ b/src/QtLocationPlugin/QGCMapEngine.cpp
@@ -55,6 +55,7 @@ stQGeoTileCacheQGCMapTypes kMapTypes[] = {
     {"Bing Satellite Map",      UrlFactory::BingSatellite},
     {"Bing Hybrid Map",         UrlFactory::BingHybrid},
     {"Statkart Terrain Map",    UrlFactory::StatkartTopo},
+    {"ENIRO Terrain Map",       UrlFactory::EniroTopo}
     /*
     {"MapQuest Street Map",     UrlFactory::MapQuestMap},
     {"MapQuest Satellite Map",  UrlFactory::MapQuestSat}
@@ -466,6 +467,7 @@ QGCMapEngine::concurrentDownloads(UrlFactory::MapType type)
     case UrlFactory::BingSatellite:
     case UrlFactory::BingHybrid:
     case UrlFactory::StatkartTopo:
+    case UrlFactory::EniroTopo:
     case UrlFactory::EsriWorldStreet:
     case UrlFactory::EsriWorldSatellite:
     case UrlFactory::EsriTerrain:
diff --git a/src/QtLocationPlugin/QGCMapUrlEngine.cpp b/src/QtLocationPlugin/QGCMapUrlEngine.cpp
index b429cd5..89ee5cb 100644
--- a/src/QtLocationPlugin/QGCMapUrlEngine.cpp
+++ b/src/QtLocationPlugin/QGCMapUrlEngine.cpp
@@ -95,6 +95,9 @@ UrlFactory::getImageFormat(MapType type, const QByteArray& image)
                 case StatkartTopo:
                     format = "png";
                     break;
+                case EniroTopo:
+                    format = "png";
+                    break;
                 /*
                 case MapQuestMap:
                 case MapQuestSat:
@@ -157,6 +160,9 @@ UrlFactory::getTileURL(MapType type, int x, int y, int zoom, QNetworkAccessManag
         case StatkartTopo:
             request.setRawHeader("Referrer", "https://www.norgeskart.no/");
             break;
+        case EniroTopo:
+            request.setRawHeader("Referrer", "https://www.eniro.se/");
+            break;
         /*
         case OpenStreetMapSurfer:
         case OpenStreetMapSurferTerrain:
@@ -259,6 +265,11 @@ UrlFactory::_getURL(MapType type, int x, int y, int zoom, QNetworkAccessManager*
         return QString("http://opencache.statkart.no/gatekeeper/gk/gk.open_gmaps?layers=topo2&zoom=%1&x=%2&y=%3").arg(zoom).arg(x).arg(y);
     }
     break;
+    case EniroTopo:
+    {
+    	return QString("http://map.eniro.com/geowebcache/service/tms1.0.0/map/%1/%2/%3.png").arg(zoom).arg(x).arg((1<<zoom)-1-y);
+    }
+    break;
     /*
     case OpenStreetMap:
     {
diff --git a/src/QtLocationPlugin/QGCMapUrlEngine.h b/src/QtLocationPlugin/QGCMapUrlEngine.h
index b9791ff..193e63e 100644
--- a/src/QtLocationPlugin/QGCMapUrlEngine.h
+++ b/src/QtLocationPlugin/QGCMapUrlEngine.h
@@ -45,6 +45,7 @@ public:
         OpenStreetMapSurferTerrain=35,
 
         StatkartTopo            = 100,
+        EniroTopo               = 110,
 
         BingMap                 = 444,
         BingSatellite           = 555,
diff --git a/src/QtLocationPlugin/QGeoTiledMappingManagerEngineQGC.cpp b/src/QtLocationPlugin/QGeoTiledMappingManagerEngineQGC.cpp
index f856dec..3a74c28 100644
--- a/src/QtLocationPlugin/QGeoTiledMappingManagerEngineQGC.cpp
+++ b/src/QtLocationPlugin/QGeoTiledMappingManagerEngineQGC.cpp
@@ -121,6 +121,8 @@ QGeoTiledMappingManagerEngineQGC::QGeoTiledMappingManagerEngineQGC(const QVarian
 
     // Statkart
     mapTypes << QGCGEOMAPTYPE(QGeoMapType::TerrainMap,        "Statkart Terrain Map",     "Statkart Terrain Map",             false,  false,  UrlFactory::StatkartTopo);
+    // Eniro
+    mapTypes << QGCGEOMAPTYPE(QGeoMapType::TerrainMap,        "Eniro Terrain Map",        "Eniro Terrain Map",                false,  false,  UrlFactory::EniroTopo);
 
     // Esri
     mapTypes << QGCGEOMAPTYPE(QGeoMapType::StreetMap,         "Esri Street Map",          "ArcGIS Online World Street Map",   true,   false,  UrlFactory::EsriWorldStreet);
diff --git a/src/Settings/FlightMap.SettingsGroup.json b/src/Settings/FlightMap.SettingsGroup.json
index c3e30e5..eac57b3 100644
--- a/src/Settings/FlightMap.SettingsGroup.json
+++ b/src/Settings/FlightMap.SettingsGroup.json
@@ -3,8 +3,8 @@
     "name":             "MapProvider",
     "shortDescription": "Currently selected map provider for flight maps",
     "type":             "uint32",
-    "enumStrings":      "Bing,Google,Statkart,Mapbox,Esri",
-    "enumValues":       "0,1,2,3,4",
+    "enumStrings":      "Bing,Google,Statkart,Eniro,Mapbox,Esri",
+    "enumValues":       "0,1,2,3,4,5",
     "defaultValue":     0
 },
 {
diff --git a/src/Settings/FlightMapSettings.cc b/src/Settings/FlightMapSettings.cc
index c814f85..7f50161 100644
--- a/src/Settings/FlightMapSettings.cc
+++ b/src/Settings/FlightMapSettings.cc
@@ -110,6 +110,11 @@ void FlightMapSettings::_newMapProvider(QVariant value)
         _removeEnumValue(mapTypeSatellite, enumStrings, enumValues);
         _removeEnumValue(mapTypeHybrid, enumStrings, enumValues);
         break;
+    case mapProviderEniro:
+        _removeEnumValue(mapTypeStreet, enumStrings, enumValues);
+        _removeEnumValue(mapTypeSatellite, enumStrings, enumValues);
+        _removeEnumValue(mapTypeHybrid, enumStrings, enumValues);
+        break;
     case mapProviderEsri:
         _removeEnumValue(mapTypeHybrid, enumStrings, enumValues);
         break;
diff --git a/src/Settings/FlightMapSettings.h b/src/Settings/FlightMapSettings.h
index e849bfe..6b85fd1 100644
--- a/src/Settings/FlightMapSettings.h
+++ b/src/Settings/FlightMapSettings.h
@@ -24,6 +24,7 @@ public:
         mapProviderBing,
         mapProviderGoogle,
         mapProviderStarkart,
+        mapProviderEniro,
         mapProviderMapbox,
         mapProviderEsri
     } MapProvider_t;