diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/CopyCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/CopyCommand.java
index 5ea871caf6bef7f802521ec6556f9b5c83da107a..203c3070a339c83fc2f9f2fb4f0106a376d8a896 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/CopyCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/CopyCommand.java
@@ -250,7 +250,6 @@ public class CopyCommand extends NewModelCommand {
 	 *          original model
 	 */
 	private void assignSimpleDataToCopy(Model copy, Model original) {
-		copy.setMapVersion(original.getMapVersion());
 		copy.setName(original.getName());
 
 		copy.setCreationDate(original.getCreationDate());
diff --git a/model/src/main/java/lcsb/mapviewer/model/Project.java b/model/src/main/java/lcsb/mapviewer/model/Project.java
index eefacc6b958971fbe0ab45290ad61babf0c1b7f4..c88cd2ffc2876ead60a46a14f63973f25fc696a6 100644
--- a/model/src/main/java/lcsb/mapviewer/model/Project.java
+++ b/model/src/main/java/lcsb/mapviewer/model/Project.java
@@ -76,6 +76,11 @@ public class Project implements Serializable {
 	 */
 	private String						name;
 
+	/**
+	 * Version of the project.
+	 */
+	private String						version;
+
 	/**
 	 * Directory where the images on the server will be stored for this project.
 	 */
@@ -130,7 +135,7 @@ public class Project implements Serializable {
 	/**
 	 * SBGN format selection. Set, if map is to be displayed in SBGN format
 	 */
-	private boolean											 sbgnFormat				= false;
+	private boolean						sbgnFormat			 = false;
 
 	/**
 	 * Default constructor.
@@ -474,11 +479,29 @@ public class Project implements Serializable {
 	}
 
 	/**
-	 * @param sbgnFormat the sbgnFormat to set
+	 * @param sbgnFormat
+	 *          the sbgnFormat to set
 	 * @see #sbgnFormat
 	 */
 	public void setSbgnFormat(boolean sbgnFormat) {
 		this.sbgnFormat = sbgnFormat;
 	}
 
+	/**
+	 * @return the version
+	 * @see #version
+	 */
+	public String getVersion() {
+		return version;
+	}
+
+	/**
+	 * @param version
+	 *          the version to set
+	 * @see #version
+	 */
+	public void setVersion(String version) {
+		this.version = version;
+	}
+
 }
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/Model.java b/model/src/main/java/lcsb/mapviewer/model/map/model/Model.java
index 9b09e2708b9244f8798fef693184859756ec2ccc..62bc8dff797dcf613e3ac5756f8115f353372d5e 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/model/Model.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/model/Model.java
@@ -38,21 +38,6 @@ public interface Model {
 	 */
 	void addElement(Element element);
 
-	/**
-	 * Returns map model version.
-	 * 
-	 * @return map model version
-	 */
-	String getMapVersion();
-
-	/**
-	 * Sets map model version.
-	 * 
-	 * @param version
-	 *          new map model version
-	 */
-	void setMapVersion(String version);
-
 	/**
 	 * 
 	 * @return model width
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelComparator.java
index 34edc4b5391969ad0b9ab93ec01acdec948631d9..c20239a5e02705aab8d06fbf2e17e449e7b435b1 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelComparator.java
@@ -104,11 +104,6 @@ public class ModelComparator implements Comparator<Model> {
 			return stringComparator.compare(arg0.getName(), arg1.getName());
 		}
 
-		if (stringComparator.compare(arg0.getMapVersion(), arg1.getMapVersion()) != 0) {
-			logger.debug("Version different: " + arg0.getMapVersion() + ", " + arg1.getMapVersion());
-			return stringComparator.compare(arg0.getMapVersion(), arg1.getMapVersion());
-		}
-
 		if (stringComparator.compare(arg0.getNotes(), arg1.getNotes(), true) != 0) {
 			logger.debug(arg0.getNotes());
 			logger.debug(arg1.getNotes());
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelData.java b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelData.java
index 3cb9317c92c221e96fd56115be573187e4b9596e..dddf43d1533ba578aba8e6e72cc7d734deea0815 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelData.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelData.java
@@ -102,11 +102,6 @@ public class ModelData implements Serializable {
 	@OneToMany(mappedBy = "model", orphanRemoval = true)
 	private Set<Reaction>								 reactions				= new HashSet<>();
 
-	/**
-	 * Version of the map.
-	 */
-	private String											 mapVersion				= "";
-
 	/**
 	 * When the map was created.
 	 */
@@ -599,23 +594,6 @@ public class ModelData implements Serializable {
 		this.reactions = reactions;
 	}
 
-	/**
-	 * @return the mapVersion
-	 * @see #mapVersion
-	 */
-	public String getMapVersion() {
-		return mapVersion;
-	}
-
-	/**
-	 * @param mapVersion
-	 *          the mapVersion to set
-	 * @see #mapVersion
-	 */
-	public void setMapVersion(String mapVersion) {
-		this.mapVersion = mapVersion;
-	}
-
 	/**
 	 * @return the width
 	 * @see #width
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelFullIndexed.java b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelFullIndexed.java
index d1294bc7733a6fb5f1d3e99d017fef19d957ccaa..67ba368bf5e408664e341a271d5aee87cd513fef 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelFullIndexed.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelFullIndexed.java
@@ -127,16 +127,6 @@ public class ModelFullIndexed implements Model {
 		}
 	}
 
-	@Override
-	public String getMapVersion() {
-		return modelData.getMapVersion();
-	}
-
-	@Override
-	public void setMapVersion(String version) {
-		modelData.setMapVersion(version);
-	}
-
 	@Override
 	public Double getWidth() {
 		return modelData.getWidth();
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/model/ModelComparatorTest.java b/model/src/test/java/lcsb/mapviewer/model/map/model/ModelComparatorTest.java
index 182a464e7d2878e46310aaa4d11dd174dd3b5394..e56c03e4d21fb31417165a794ce17b2ebd31199b 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/model/ModelComparatorTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/model/ModelComparatorTest.java
@@ -286,14 +286,6 @@ public class ModelComparatorTest {
 			model1 = getModel();
 			model2 = getModel();
 
-			model1.setMapVersion("asdsdasd");
-
-			assertTrue(comparator.compare(model1, model2) != 0);
-			assertTrue(comparator.compare(model2, model1) != 0);
-
-			model1 = getModel();
-			model2 = getModel();
-
 			model1.setWidth(123);
 
 			assertTrue(comparator.compare(model1, model2) != 0);
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/model/ModelDataTest.java b/model/src/test/java/lcsb/mapviewer/model/map/model/ModelDataTest.java
index 5448ec13eaa5bd1b72e18acb6215c6f24ff64d38..39915cd053894642025d70acd9b61c961ec0b448 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/model/ModelDataTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/model/ModelDataTest.java
@@ -284,9 +284,6 @@ public class ModelDataTest {
 			md.setNotes(notes);
 			assertEquals(notes, md.getNotes());
 
-			md.setMapVersion(mapVersion);
-			assertEquals(mapVersion, md.getMapVersion());
-
 			md.setName(name);
 			assertEquals(name, md.getName());
 
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/model/ModelFullIndexedTest.java b/model/src/test/java/lcsb/mapviewer/model/map/model/ModelFullIndexedTest.java
index 988a4ac32d78aee82bbaa8eb4f059ab1f8ff9424..9390fbbf6a43ccc3a4a7e4ab81a9a36dd8d4a5d5 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/model/ModelFullIndexedTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/model/ModelFullIndexedTest.java
@@ -811,9 +811,6 @@ public class ModelFullIndexedTest {
 			model.setHeight(heightInt);
 			assertEquals(height, model.getHeight());
 
-			model.setMapVersion(mapVersion);
-			assertEquals(mapVersion, model.getMapVersion());
-
 			model.setElements(elements);
 			assertEquals(elements, model.getElements());
 			model.setLayouts(layouts);
@@ -828,8 +825,6 @@ public class ModelFullIndexedTest {
 			assertEquals(idModel, model.getIdModel());
 			model.setCreationDate(creationDate);
 			assertEquals(creationDate, model.getCreationDate());
-			model.setMapVersion(mapVersion);
-			assertEquals(mapVersion, model.getMapVersion());
 
 			assertNotNull(model.getParentModels());
 		} catch (Exception e) {
diff --git a/persist/src/db/11.1.0/fix_db_20170808.sql b/persist/src/db/11.1.0/fix_db_20170808.sql
new file mode 100644
index 0000000000000000000000000000000000000000..1d4d4c9bd6ca0a30ad7a256571d49582ac8d13ca
--- /dev/null
+++ b/persist/src/db/11.1.0/fix_db_20170808.sql
@@ -0,0 +1,4 @@
+-- version moved from model into project
+alter table model_table drop column mapversion character varying default '';
+alter table model_table drop column mapversion;
+update project_table set version = model_table.mapversion from model_table where project_table.iddb = model_table.project_iddb;
\ No newline at end of file
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/ProjectRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/ProjectRestImpl.java
index 7db5c6d7055d42232c32ffbc7d5a345cb99e8b10..3f92c8b21f2c447a87643e95b0ec0ada9bd57ae2 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/ProjectRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/ProjectRestImpl.java
@@ -111,10 +111,10 @@ public class ProjectRestImpl extends BaseRestImpl {
 		result.setName(project.getName());
 		result.setProjectId(project.getProjectId());
 		result.setIdObject(project.getId());
+		result.setVersion(project.getVersion());
 
 		if (model != null) {
 			result.setOverviewImageViews(factory.createList(model.getOverviewImages()));
-			result.setVersion(model.getMapVersion());
 			result.setDescription(model.getNotes());
 
 			Set<OverviewImage> set = new HashSet<>();
diff --git a/service/src/main/java/lcsb/mapviewer/services/impl/ModelService.java b/service/src/main/java/lcsb/mapviewer/services/impl/ModelService.java
index ed690aaad7e343d312adb59129a0ee2b7889f400..5afe3aad70e9251264e129b2f4317f7d36f8c435 100644
--- a/service/src/main/java/lcsb/mapviewer/services/impl/ModelService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/impl/ModelService.java
@@ -258,7 +258,6 @@ public class ModelService implements IModelService {
 	 */
 	private void setModel(ModelData model, ProjectView selectedProject) {
 		model.setNotes(selectedProject.getDescription());
-		model.setMapVersion(selectedProject.getVersion());
 		model.setNotifyEmail(selectedProject.getNotifyEmail());
 		List<Layout> toRemove = new ArrayList<Layout>();
 		for (Layout layout : model.getLayouts()) {
diff --git a/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java b/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java
index 3b89d7beb930badc503eaea4f6f57a01ff28e13f..a0b34ce3fd4af3340a40e993b4bc85e028f420c4 100644
--- a/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java
@@ -303,6 +303,7 @@ public class ProjectService implements IProjectService {
 		Project project = projectDao.getById(selectedProject.getIdObject());
 		project.setProjectId(selectedProject.getProjectId());
 		project.setName(selectedProject.getProjectName());
+		project.setVersion(selectedProject.getVersion());
 		MiriamData disease = null;
 		MiriamData organism = null;
 		if (selectedProject.getNewDiseaseName() != null && !selectedProject.getNewDiseaseName().isEmpty()) {
@@ -704,7 +705,6 @@ public class ProjectService implements IProjectService {
 		}
 		updateProjectStatus(project, ProjectStatus.PARSING_DATA, IProgressUpdater.MAX_PROGRESS, params);
 		model.setNotes(params.getDescription());
-		model.setMapVersion(params.getVersion());
 		model.setZoomLevels(generator.computeZoomLevels(model));
 		model.setTileSize(MapGenerator.TILE_SIZE);
 
@@ -929,6 +929,7 @@ public class ProjectService implements IProjectService {
 				if (params.getOrganism() != null && !params.getOrganism().isEmpty()) {
 					organism = new MiriamData(MiriamType.TAXONOMY, params.getOrganism());
 				}
+				project.setVersion(params.getVersion());
 				projectDao.add(project);
 				if (params.isAsync()) {
 					projectDao.commit();
diff --git a/service/src/main/java/lcsb/mapviewer/services/view/ModelViewFactory.java b/service/src/main/java/lcsb/mapviewer/services/view/ModelViewFactory.java
index 434de14923c2cc4c2a42b0fd16db7b14523dc97a..a218e76b52736eb4a6c6f7bb4ae84fd265e9240c 100644
--- a/service/src/main/java/lcsb/mapviewer/services/view/ModelViewFactory.java
+++ b/service/src/main/java/lcsb/mapviewer/services/view/ModelViewFactory.java
@@ -55,7 +55,6 @@ public class ModelViewFactory extends AbstractViewFactory<Model, ModelView> {
 		}
 		result.setLayouts(new ArrayList<LayoutView>());
 		result.setCustomLayouts(new ArrayList<LayoutView>());
-		result.setVersion(model.getMapVersion());
 		result.setName(model.getName());
 
 		result.setMinZoom(Configuration.MIN_ZOOM_LEVEL);
diff --git a/service/src/main/java/lcsb/mapviewer/services/view/ProjectViewFactory.java b/service/src/main/java/lcsb/mapviewer/services/view/ProjectViewFactory.java
index 1d98eb8894d2cb3bb1e4ef4865aab8725b965989..54346da8292f38a6f03ac8e0f277c9c5d2502a92 100644
--- a/service/src/main/java/lcsb/mapviewer/services/view/ProjectViewFactory.java
+++ b/service/src/main/java/lcsb/mapviewer/services/view/ProjectViewFactory.java
@@ -89,12 +89,12 @@ public class ProjectViewFactory extends AbstractViewFactory<Project, ProjectView
 		}
 		result.setWarningsPreview(warnPreview);
 		result.setWarnings(project.getWarnings());
+		result.setVersion(project.getVersion());
 
 		for (ModelData model : project.getModels()) {
 			result.setModelId(model.getId());
 			result.setDescription(model.getNotes());
 			result.getLayouts().clear();
-			result.setVersion(model.getMapVersion());
 			result.setNotifyEmail(model.getNotifyEmail());
 			for (Layout layout : model.getLayouts()) {
 				LayoutView layoutRow = layoutViewFactory.create(layout);
diff --git a/service/src/test/java/lcsb/mapviewer/services/impl/CommentServiceTest.java b/service/src/test/java/lcsb/mapviewer/services/impl/CommentServiceTest.java
index 665e7f3fdd270fee750bd3cd7f429906e18690d3..ef435d1a1c393df4a69a7597a60ff845caab5dd9 100644
--- a/service/src/test/java/lcsb/mapviewer/services/impl/CommentServiceTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/impl/CommentServiceTest.java
@@ -49,7 +49,6 @@ public class CommentServiceTest extends ServiceTestFunctions {
 			project = new Project();
 			project.setProjectId(projectId);
 			model = getModelForFile("testFiles/centeredAnchorInModifier.xml", false);
-			model.setMapVersion("tes");
 			model.setTileSize(128);
 			Set<Element> aliases = model.getElements();
 			alias = null;