diff --git a/flickr.admin.inc b/flickr.admin.inc
index 55eebcf..d46c6b0 100644
--- a/flickr.admin.inc
+++ b/flickr.admin.inc
@@ -49,6 +49,11 @@ function flickr_admin_settings() {
     '#default_value' => $default,
     '#description' => t('An, optional, default Flickr user (number@number, alias, username or email). This will be used when no user is specified.'),
   );
+  // We need an api key before we can verify usernames.
+  if (!$form['credentials']['flickr_api_key']['#default_value']) {
+    $form['credentials']['flickr_default_userid']['#disabled'] = TRUE;
+    $form['credentials']['flickr_default_userid']['#description'] .= ' ' . t('Disabled until a valid API Key is set.');
+  }
   $form['info_settings'] = array(
     '#type' => 'fieldset',
     '#title' => t('Global options'),
@@ -313,21 +318,6 @@ function flickr_admin_settings() {
     '#size' => 3,
     '#maxlength' => 3,
   );
-  if (!module_exists('devel')) {
-    variable_set('flickr_debug', 0);
-  }
-  $devel_module = l(t('Devel module'), 'https://drupal.org/project/devel', array(
-      'attributes' => array(
-        'title' => t('Devel | Drupal.org'),
-        'target' => '_blank',
-      ),
-  ));
-  $form['advanced_settings']['flickr_debug'] = array(
-    '#type' => 'checkbox',
-    '#title' => t('Enable Debug Output'),
-    '#description' => t('Display all passed photo/album arguments and HTTP requests/response objects via the !devel_module.', array('!devel_module' => $devel_module)),
-    '#default_value' => variable_get('flickr_debug', 0),
-  );
   $more_info = l(t('More info'), 'https://stackoverflow.com/a/4635991', array(
       'attributes' => array(
         'title' => t("Super fast 'getimagesize' in PHP - Stack Overflow"),
@@ -346,16 +336,6 @@ function flickr_admin_settings() {
     '#default_value' => variable_get('flickr_curl2', 0),
     '#description' => t("Otherwise cURL will only be used as fallback when the usual method returns a 403 (forbidden) or 408 (Request Timeout)."),
   );
-  // We need an api key before we can verify usernames.
-  if (!$form['credentials']['flickr_api_key']['#default_value']) {
-    $form['credentials']['flickr_default_userid']['#disabled'] = TRUE;
-    $form['credentials']['flickr_default_userid']['#description'] .= ' ' . t('Disabled until a valid API Key is set.');
-  }
-  // Do not offer the following setting if Devel is not available.
-  if (!module_exists('devel')) {
-    $form['advanced_settings']['flickr_debug']['#disabled'] = TRUE;
-    $form['advanced_settings']['flickr_debug']['#description'] = t("Disabled because the !devel_module is not enabled.", array('!devel_module' => $devel_module));
-  }
   // Offer the following setting if both allow_url_fopen and curl are enabled.
   if (!ini_get("allow_url_fopen") || !function_exists('curl_version')) {
     $form['advanced_settings']['flickr_curl']['#disabled'] = TRUE;
@@ -374,6 +354,40 @@ function flickr_admin_settings() {
     $form['advanced_settings']['flickr_curl2']['#disabled'] = TRUE;
     $form['advanced_settings']['flickr_curl2']['#description'] = t("Disabled because your server configuration only allows 'stream_socket_client' (not 'cURL')");
   }
+   $devel_module = l(t('Devel module'), 'https://drupal.org/project/devel', array(
+      'attributes' => array(
+        'title' => t('Devel | Drupal.org'),
+        'target' => '_blank',
+      ),
+  ));
+  // Disable the Devel output until it is available.
+  if (!module_exists('devel')) {
+    if (variable_get('flickr_debug', 0) == 2) {
+      variable_set('flickr_debug', 1);
+      drupal_set_message(t("The debug output has been set to 'Flickr response only'. 'Plus Devel' has been disabled until you enable the !devel_module.", array('!devel_module' => $devel_module)), 'warning', FALSE);
+    }
+  }
+  $form['advanced_settings']['flickr_debug'] = array(
+    '#type' => 'radios',
+    '#title' => t('Enable Debug Output'),
+    '#options' => array(
+      t('None'),
+      t('Flickr response only (as a link to an XML page in a debug message)'),
+      t('Plus Devel (Flickr response plus additional output'),
+    ),
+    '#description' => t('Display the Flickr XML response, all passed photo/album arguments and HTTP requests/response objects via the !devel_module.', array('!devel_module' => $devel_module)),
+    '#default_value' => variable_get('flickr_debug', 0),
+  );
+  // Disable the Devel output until it is available.
+  if (!module_exists('devel')) {
+    $form['advanced_settings']['flickr_debug']['#options'] = array(
+      t('None'),
+      t('Flickr response only (as a link to an XML page in a debug message)'),
+      '<span class="grayed-out">' . t('Plus Devel (Flickr response plus additional output') . '</span> <span class="grayed-out-help">' . t('Disabled until you enable the !devel_module.', array('!devel_module' => $devel_module)) . '</span> ',
+    );
+    $form['advanced_settings']['flickr_debug'][2]['#disabled'] = TRUE;
+    $form['advanced_settings']['flickr_debug']['#description'] = t('Display the Flickr XML response.');
+  }
   $form['flickr_cc'] = array(
     '#type' => 'checkbox',
     '#title' => t("Flush all caches on form submit to see your changes instantly."),
diff --git a/flickr.inc b/flickr.inc
index f877908..ccb44dd 100644
--- a/flickr.inc
+++ b/flickr.inc
@@ -145,7 +145,7 @@ function flickr_request($method, $args, $cacheable = TRUE, $return_errors = FALS
     watchdog('flickr', $message, array(), WATCHDOG_WARNING);
     if ($return_errors) {
       // Debug info.
-      if (variable_get('flickr_debug', 0) && module_exists('devel')) {
+      if (variable_get('flickr_debug', 0) == 2 && module_exists('devel')) {
         dpm("Value of error 'result' in 'function flickr_request()' with connection method " . "'" . $cmethod . "' in 'flickr.inc':");
         dpm($result);
       }
@@ -161,7 +161,7 @@ function flickr_request($method, $args, $cacheable = TRUE, $return_errors = FALS
     // Even the cURL method returns an error.
     if ($result->code != 200) {
       // Debug info.
-      if (variable_get('flickr_debug', 0) && module_exists('devel')) {
+      if (variable_get('flickr_debug', 0) == 2 && module_exists('devel')) {
         dpm("Value of 'result' with error in 'function flickr_request()' with connection method " . "'" . $cmethod . "' in 'flickr.inc':");
         dpm($result);
       }
@@ -176,7 +176,7 @@ function flickr_request($method, $args, $cacheable = TRUE, $return_errors = FALS
 
   }
   // Debug info.
-  if (variable_get('flickr_debug', 0) && module_exists('devel')) {
+  if (variable_get('flickr_debug', 0) == 2 && module_exists('devel')) {
     dpm("Value of 'result' in 'function flickr_request()' with the " . "'" . $cmethod . "' connection method in 'flickr.inc':");
     dpm($result);
   }
@@ -202,6 +202,33 @@ function flickr_request($method, $args, $cacheable = TRUE, $return_errors = FALS
     flickr_set_error($response);
     return FALSE;
   }
+  elseif (isset($args) && variable_get('flickr_debug', 0)) {
+    $args['format'] = 'rest';
+    unset($args['api_sig']);
+    $attribs = urldecode(http_build_query($args, '', '&'));
+    $attribs = str_replace('"', '', $attribs);
+    $methodurl = l($method, 'https://www.flickr.com/services/api/' . $method . '.htm', array(
+      'attributes' => array(
+        'title' => t('Flickr Services: Flickr API: ') . $method,
+        'target' => '_blank',
+      ),
+    ));
+    $explorerurl = l('API Explorer', 'https://www.flickr.com/services/api/explore/' . $method, array(
+      'attributes' => array(
+        'title' => t('Flickr Api Explorer - ') . $method,
+        'target' => '_blank',
+      ),
+    ));
+    $requrl = l(t('following response'), FLICKR_REST_ENDPOINT . '?' . $attribs, array(
+      'attributes' => array(
+        'title' => t('Verify the passed arguments in the URL'),
+        'target' => '_blank',
+      ),
+    ));
+    $message = t("Debug info: Connection by %cmethod with method !methodurl gives the !requrl to check in the !explorerurl.<br />Passed arguments: " . $attribs, array('%cmethod' => $cmethod, '!methodurl' => $methodurl, '!explorerurl' => $explorerurl, '!requrl' => $requrl));
+    drupal_set_message($message, 'warning');
+    watchdog('flickr', $message, array(), WATCHDOG_WARNING);
+  }
 
   // Save cacheable results for future use.
   if ($cacheable) {
@@ -228,7 +255,7 @@ function flickr_request($method, $args, $cacheable = TRUE, $return_errors = FALS
  */
 function flickr_img($photo, $size = NULL, $attributes = NULL) {
   // Debug info.
-  if (variable_get('flickr_debug', 0) && module_exists('devel')) {
+  if (variable_get('flickr_debug', 0) == 2 && module_exists('devel')) {
     dpm("Value of 'photo' passed to 'function flickr_img()' in 'flickr.inc':");
     dpm($photo);
   }
@@ -907,7 +934,7 @@ function _flickr_album($type = 'user', $id = '39873962@N08', $show_n = NULL, $si
           ),
         ));
         if (($id == '39873962@N08' || empty($id)) && empty($tags) && !isset($lat)) {
-          $pre_output .= '<div class="messages warning">' . t('Provide some tags or a location for public photos for the node on this page<br />OR<br />!block_config on this page<br />OR<br />!config.', array('!block_config' => $block_config, '!config' => $config)) . '</div>';
+          $pre_output .= '<div class="messages warning">' . t('Provide some tags or a location for public photos for the node on this page<br />- OR -<br />!block_config on this page<br />- OR -<br />!config.', array('!block_config' => $block_config, '!config' => $config)) . '</div>';
           $show_n = 0;
         }
         $output .= ($heading == 'none' || ($show_n == 1 && !is_numeric($delta))) ? '' : '<' . $heading . ' class="flickr-album-heading">' . $pre_output . '</' . $heading . '>';
@@ -983,7 +1010,7 @@ function _flickr_album($type = 'user', $id = '39873962@N08', $show_n = NULL, $si
         $rest_ok = ($total % variable_get('flickr_per_page', 100)) > 3 * $show_n ? 1 : 0;
         $page = ($sort == 'random' && isset($total) && $total > variable_get('flickr_per_page', 100) && empty($tags)) ? mt_rand(1, floor($total / variable_get('flickr_per_page', 100)) + $rest_ok) : $page;
         // Debug info.
-        if (variable_get('flickr_debug', 0) && module_exists('devel')) {
+        if (variable_get('flickr_debug', 0) == 2 && module_exists('devel')) {
           dpm("Arguments passed to 'function _flickr_album()': " . '$type=' . $type . ' $delta=' . $delta . ' $id=' . $id . ' $sort=' . $sort . ' $filter=' . $filter . ' $page=' . $page . ' $per_page=' . $per_page . ' $tags=' . $tags . ' $vocab_isset=' . $vocab_isset . ' $total=' . $total . ' $lat=' . $lat . ' $lon=' . $lon . ' $radius=' . $radius . ' $extend=' . $extend);
         }
         // Get a list of "all" the photos. This is cached.
