diff --git a/apps/calendar/ajax/settings/getfirstday.php b/apps/calendar/ajax/settings/getfirstday.php
new file mode 100644
index 0000000000000000000000000000000000000000..cab5870509a3718c598beee612987dfc7a8665c1
--- /dev/null
+++ b/apps/calendar/ajax/settings/getfirstday.php
@@ -0,0 +1,12 @@
+<?php
+/**
+ * Copyright (c) 2012 Georg Ehrke <ownclouddev at georgswebsite dot de>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+require_once('../../../../lib/base.php');
+OC_JSON::checkLoggedIn();
+$firstday = OC_Preferences::getValue( OC_User::getUser(), 'calendar', 'firstday', 'mo');
+OC_JSON::encodedPrint(array('firstday' => $firstday));
+?> 
diff --git a/apps/calendar/ajax/settings/setfirstday.php b/apps/calendar/ajax/settings/setfirstday.php
new file mode 100644
index 0000000000000000000000000000000000000000..3b6522122059598ac64f545e75e92fec9888e684
--- /dev/null
+++ b/apps/calendar/ajax/settings/setfirstday.php
@@ -0,0 +1,17 @@
+<?php
+/**
+ * Copyright (c) 2012 Georg Ehrke <ownclouddev at georgswebsite dot de>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+require_once('../../../../lib/base.php');
+OC_JSON::checkLoggedIn();
+if(isset($_POST["firstday"])){
+	OC_Preferences::setValue(OC_User::getUser(), 'calendar', 'firstday', $_POST["firstday"]);
+	OC_JSON::success();
+}else{
+	OC_JSON::error();
+}
+?> 
+ 
diff --git a/apps/calendar/js/calendar.js b/apps/calendar/js/calendar.js
index 84b76a3c88fc18d46fb073e56ed45218253110f2..a1b25780b761e92834ae64f3624df3c5fa12a5e0 100644
--- a/apps/calendar/js/calendar.js
+++ b/apps/calendar/js/calendar.js
@@ -661,7 +661,7 @@ $(document).ready(function(){
 	Calendar.UI.initScroll();
 	$('#calendar_holder').fullCalendar({
 		header: false,
-		firstDay: 1,
+		firstDay: firstDay,
 		editable: true,
 		defaultView: defaultView,
 		timeFormat: {
diff --git a/apps/calendar/js/settings.js b/apps/calendar/js/settings.js
index fcbfc423db3f5892387f261c0b70f08e2d190ab9..c768a47a797f36d38dee3c0385e4884356a7a3dc 100644
--- a/apps/calendar/js/settings.js
+++ b/apps/calendar/js/settings.js
@@ -17,6 +17,14 @@ $(document).ready(function(){
 			}
 		});
 	});
+	$('#firstday').change( function(){
+		var data = $('#firstday').serialize();
+		$.post( OC.filePath('calendar', 'ajax/settings', 'setfirstday.php'), data, function(data){
+			if(data == 'error'){
+				console.log('saving firstday failed');
+			}
+		});
+	});
 	$('#timezonedetection').change( function(){
 		var post = $('#timezonedetection').serialize();
 		$.post( OC.filePath('calendar', 'ajax/settings', 'timezonedetection.php'), post, function(data){
@@ -32,4 +40,8 @@ $(document).ready(function(){
 			$('#timezonedetection').attr('checked', 'checked');
 		}
 	});
+	$.getJSON(OC.filePath('calendar', 'ajax/settings', 'getfirstday.php'), function(jsondata, status) {
+		$('#' + jsondata.firstday).attr('selected',true);
+		$('#firstday').chosen();
+	});
 });
diff --git a/apps/calendar/templates/calendar.php b/apps/calendar/templates/calendar.php
index eb82d0d02ada02bec9eee382505a653c90e8c057..63c3b500296511be200c60e2a0cbefd648c8150e 100755
--- a/apps/calendar/templates/calendar.php
+++ b/apps/calendar/templates/calendar.php
@@ -19,6 +19,7 @@
 				var missing_field_startsbeforeends = '<?php echo addslashes($l->t('The event ends before it starts')) ?>';
 				var missing_field_dberror = '<?php echo addslashes($l->t('There was a database fail')) ?>';
 				var totalurl = '<?php echo OC_Helper::linkToAbsolute('calendar', 'caldav.php'); ?>/calendars';
+				var firstDay = '<?php echo (OC_Preferences::getValue(OC_USER::getUser(), 'calendar', 'firstday', 'mo') == 'mo' ? '1' : '0'); ?>';
 				$(document).ready(function() {
 				<?php
 				if(array_key_exists('showevent', $_)){
diff --git a/apps/calendar/templates/settings.php b/apps/calendar/templates/settings.php
index 979634874e4cdf9a0339aafb4ad9e3ce81332f95..f74a45203e1803cf39fa813b994eae4706a9d981 100644
--- a/apps/calendar/templates/settings.php
+++ b/apps/calendar/templates/settings.php
@@ -37,6 +37,13 @@
                 </select>
             </td></tr>
 
+            <tr><td><label for="firstday" class="bold"><?php echo $l->t('First day of the week');?></label></td><td>
+                <select style="display: none;" id="firstday" title="<?php echo "First day"; ?>" name="firstday">
+                    <option value="mo" id="mo"><?php echo $l->t("Monday"); ?></option>
+                    <option value="su" id="su"><?php echo $l->t("Sunday"); ?></option>
+                </select>
+            </td></tr>
+
         </table>
 
         <?php echo $l->t('Calendar CalDAV syncing address:');?>