diff --git a/core/command/maintenance/mode.php b/core/command/maintenance/mode.php
new file mode 100644
index 0000000000000000000000000000000000000000..f26a11384a88a2c39c893ffc188118cb28f24add
--- /dev/null
+++ b/core/command/maintenance/mode.php
@@ -0,0 +1,61 @@
+<?php
+/**
+ * Copyright (c) 2013 Robin Appelman <icewind@owncloud.com> and
+ * Copyright (c) 2014 Stephen Colebrook <scolebrook@mac.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace OC\Core\Command\Maintenance;
+
+use OC\Config;
+
+use Symfony\Component\Console\Command\Command;
+use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Input\InputOption;
+use Symfony\Component\Console\Output\OutputInterface;
+
+class Mode extends Command {
+
+	protected $config;
+
+	public function __construct(Config $config) {
+		$this->config = $config;
+		parent::__construct();
+	}
+
+	protected function configure() {
+		$this
+			->setName('maintenance:mode')
+			->setDescription('set maintenance mode')
+			->addOption(
+				'on',
+				null,
+				InputOption::VALUE_NONE,
+				'enable maintenance mode'
+			)
+			->addOption(
+				'off',
+				null,
+				InputOption::VALUE_NONE,
+				'disable maintenance mode'
+			);
+	}
+
+	protected function execute(InputInterface $input, OutputInterface $output) {
+		if ($input->getOption('on')) {
+			$this->config->setValue('maintenance', true);
+			$output->writeln('Maintenance mode enabled');
+		} elseif ($input->getOption('off')) {
+			$this->config->setValue('maintenance', false);
+			$output->writeln('Maintenance mode disabled');
+		} else {
+			if ($this->config->getValue('maintenance', false)) {
+				$output->writeln('Maintenance mode is currently enabled');
+			} else {
+				$output->writeln('Maintenance mode is currently disabled');
+			}
+		}
+	}
+}
diff --git a/core/register_command.php b/core/register_command.php
index dfb5134eff957dca25698c67b6930077cf922e51..e9de76c1444b126f5e493746e920a7aca5e9beb8 100644
--- a/core/register_command.php
+++ b/core/register_command.php
@@ -12,6 +12,7 @@ $application->add(new OC\Core\Command\Db\GenerateChangeScript());
 $application->add(new OC\Core\Command\Db\ConvertType(OC_Config::getObject(), new \OC\DB\ConnectionFactory()));
 $application->add(new OC\Core\Command\Upgrade());
 $application->add(new OC\Core\Command\Maintenance\SingleUser());
+$application->add(new OC\Core\Command\Maintenance\Mode(OC_Config::getObject()));
 $application->add(new OC\Core\Command\App\Disable());
 $application->add(new OC\Core\Command\App\Enable());
 $application->add(new OC\Core\Command\App\ListApps());