diff --git a/feedback.admin.inc b/feedback.admin.inc
index 425df52..70f2305 100644
--- a/feedback.admin.inc
+++ b/feedback.admin.inc
@@ -253,12 +253,25 @@ function feedback_entry_form_delete_submit($form, &$form_state) {
  * @ingroup forms
  */
 function feedback_admin_settings_form($form, &$form_state) {
+  $form['feedback_form_block'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Display form in block'),
+    '#description' => t('Deactivate the floating widget and create a "Feedback form" block for custom placement.'),
+    '#default_value' => variable_get('feedback_form_block', FALSE),
+  );
+
   $form['feedback_excluded_paths'] = array(
     '#type' => 'textarea',
     '#title' => t('Paths to exclude from feedback display'),
     '#default_value' => variable_get('feedback_excluded_paths', 'admin/reports/feedback'),
     '#description' => t("Specify pages by using their paths. Enter one path per line. The '*' character is a wildcard. Example paths are %blog for the blog page and %blog-wildcard for every personal blog. %front is the front page.", array('%blog' => 'blog', '%blog-wildcard' => 'blog/*', '%front' => '<front>')),
+    '#states' => array(
+      'visible' => array(
+        ':input[name="feedback_form_block"]' => array('checked' => FALSE),
+      ),
+    ),
   );
+
   return system_settings_form($form);
 }
 
diff --git a/feedback.module b/feedback.module
index 1572020..3566985 100644
--- a/feedback.module
+++ b/feedback.module
@@ -257,7 +257,7 @@ function feedback_menu() {
  * Implements hook_page_build().
  */
 function feedback_page_build(&$page) {
-  if (user_access('access feedback form') && !feedback_match_path(variable_get('feedback_excluded_paths', 'admin/reports/feedback'))) {
+  if (user_access('access feedback form') && !feedback_match_path(variable_get('feedback_excluded_paths', 'admin/reports/feedback')) && !variable_get('feedback_form_block', FALSE)) {
     $page['page_bottom']['feedback'] = array(
       '#theme' => 'feedback_form_display',
       '#title' => t('Feedback'),
@@ -270,6 +270,48 @@ function feedback_page_build(&$page) {
 }
 
 /**
+ * Implements hook_block_info().
+ */
+function feedback_block_info() {
+  if (!variable_get('feedback_form_block', FALSE)) {
+    return;
+  }
+
+  $blocks['feedback_form'] = array(
+    'info' => t('Feedback form'),
+  );
+
+  return $blocks;
+}
+
+/**
+ * Implements hook_block_view().
+ */
+function feedback_block_view($delta = '') {
+  if (!variable_get('feedback_form_block', FALSE)) {
+    return;
+  }
+
+  $block['subject'] = t('Feedback form');
+  $block['content'] = drupal_get_form('feedback_form');
+
+  return $block;
+}
+
+/**
+ * Implements theme_preprocess_block().
+ *
+ * Set the ID of the feedback block to work with the same AJAX callback the
+ * fixed position form uses.
+ */
+function feedback_preprocess_block(&$vars) {
+  $block = $vars['block'];
+  if ($block->module == 'feedback' && $block->delta == 'feedback_form') {
+    $vars['block_html_id'] = 'block-feedback-form';
+  }
+}
+
+/**
  * Check if the current path matches any pattern in a set of patterns.
  *
  * @param $patterns
