diff --git a/libreplan-business/src/main/java/org/libreplan/business/common/entities/IMonthlyTimesheetsTypeOfWorkHoursBootstrap.java b/libreplan-business/src/main/java/org/libreplan/business/common/entities/IMonthlyTimesheetsTypeOfWorkHoursBootstrap.java
new file mode 100644
index 000000000..02be6d9d9
--- /dev/null
+++ b/libreplan-business/src/main/java/org/libreplan/business/common/entities/IMonthlyTimesheetsTypeOfWorkHoursBootstrap.java
@@ -0,0 +1,34 @@
+/*
+ * This file is part of LibrePlan
+ *
+ * Copyright (C) 2012 Igalia, S.L.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+package org.libreplan.business.common.entities;
+
+import org.libreplan.business.IDataBootstrap;
+
+/**
+ * Contract for {@link MonthlyTimesheetsTypeOfWorkHoursBootstrap}.
+ *
+ * @author Manuel Rego Casasnovas
+ */
+public interface IMonthlyTimesheetsTypeOfWorkHoursBootstrap extends
+ IDataBootstrap {
+
+ void loadRequiredData();
+
+}
diff --git a/libreplan-business/src/main/java/org/libreplan/business/common/entities/MonthlyTimesheetsTypeOfWorkHoursBootstrap.java b/libreplan-business/src/main/java/org/libreplan/business/common/entities/MonthlyTimesheetsTypeOfWorkHoursBootstrap.java
new file mode 100644
index 000000000..c5597b094
--- /dev/null
+++ b/libreplan-business/src/main/java/org/libreplan/business/common/entities/MonthlyTimesheetsTypeOfWorkHoursBootstrap.java
@@ -0,0 +1,80 @@
+/*
+ * This file is part of LibrePlan
+ *
+ * Copyright (C) 2012 Igalia, S.L.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+package org.libreplan.business.common.entities;
+
+import org.libreplan.business.BootstrapOrder;
+import org.libreplan.business.common.daos.IConfigurationDAO;
+import org.libreplan.business.common.exceptions.InstanceNotFoundException;
+import org.libreplan.business.costcategories.daos.ITypeOfWorkHoursDAO;
+import org.libreplan.business.costcategories.entities.TypeOfWorkHours;
+import org.libreplan.business.costcategories.entities.TypeOfWorkHoursBootstrap;
+import org.libreplan.business.workreports.entities.PredefinedWorkReportTypes;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Scope;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * Fills the attribute {@link Configuration#monthlyTimesheetsTypeOfWorkHours}
+ * with a default value.
+ *
+ * If possible it uses the "Default" {@link TypeOfWorkHours}, but if it doesn't
+ * exist, it uses the first {@link TypeOfWorkHours} found.
+ *
+ * This bootstrap have to be executed after {@link ConfigurationBootstrap} and
+ * {@link TypeOfWorkHoursBootstrap}, this is why it's marked with
+ * {@link BootstrapOrder BootstrapOrder(1)}.
+ *
+ * @author Manuel Rego Casasnovas
+ */
+@Component
+@Scope("singleton")
+@BootstrapOrder(1)
+public class MonthlyTimesheetsTypeOfWorkHoursBootstrap implements
+ IMonthlyTimesheetsTypeOfWorkHoursBootstrap {
+
+ @Autowired
+ private IConfigurationDAO configurationDAO;
+
+ @Autowired
+ private ITypeOfWorkHoursDAO typeOfWorkHoursDAO;
+
+ @Override
+ @Transactional
+ public void loadRequiredData() {
+ Configuration configuration = configurationDAO.getConfiguration();
+
+ // TypeOfWorkHoursBootstrap creates the TypeOfWorkHours objects
+ // specified by PredefinedWorkReportTypes if there isn't any
+ // TypeOfWorkHours in the database
+ TypeOfWorkHours typeOfWorkHours;
+ try {
+ typeOfWorkHours = typeOfWorkHoursDAO
+ .findUniqueByName(PredefinedWorkReportTypes.DEFAULT
+ .getName());
+ } catch (InstanceNotFoundException e) {
+ typeOfWorkHours = typeOfWorkHoursDAO.findActive().get(0);
+ }
+
+ configuration.setMonthlyTimesheetsTypeOfWorkHours(typeOfWorkHours);
+ configurationDAO.save(configuration);
+ }
+
+}
diff --git a/libreplan-business/src/main/java/org/libreplan/business/costcategories/entities/TypeOfWorkHoursBootstrap.java b/libreplan-business/src/main/java/org/libreplan/business/costcategories/entities/TypeOfWorkHoursBootstrap.java
index 61b671624..096b6a44c 100644
--- a/libreplan-business/src/main/java/org/libreplan/business/costcategories/entities/TypeOfWorkHoursBootstrap.java
+++ b/libreplan-business/src/main/java/org/libreplan/business/costcategories/entities/TypeOfWorkHoursBootstrap.java
@@ -45,7 +45,7 @@ public class TypeOfWorkHoursBootstrap implements ITypeOfWorkHoursBootstrap {
@Override
@Transactional
public void loadRequiredData() {
- if (typeOfWorkHoursDAO.findAll().size() == 0) {
+ if (typeOfWorkHoursDAO.findActive().size() == 0) {
for (PredefinedTypeOfWorkHours predefinedTypeOfWorkHours : PredefinedTypeOfWorkHours
.values()) {
TypeOfWorkHours typeOfWorkHours = predefinedTypeOfWorkHours