diff --git a/data/gui/adhoc_commands_window.ui b/data/gui/adhoc_commands_window.ui
index 9c51ceb2b9b63d70f04d1154dc59682f7fa3d5d6..8b398a25ed31f454d9f4e6f4a82e5c32680f5928 100644
--- a/data/gui/adhoc_commands_window.ui
+++ b/data/gui/adhoc_commands_window.ui
@@ -172,6 +172,7 @@
                   <object class="GtkLabel" id="notes_label">
                     <property name="visible">True</property>
                     <property name="label" translatable="yes">Please wait while the command is sending...</property>
+                    <property name="selectable">True</property>
                   </object>
                   <packing>
                     <property name="expand">False</property>
diff --git a/src/adhoc_commands.py b/src/adhoc_commands.py
index ec05d8dbf9ed5271da58e1c1fbc27ee2ca3d1642..2f556fcc00807a66f9fa0a07e4ea4593ba79af6d 100644
--- a/src/adhoc_commands.py
+++ b/src/adhoc_commands.py
@@ -408,6 +408,7 @@ class CommandWindow:
 
             self.data_form_widget.set_sensitive(True)
             try:
+                self.data_form_widget.selectable = True
                 self.data_form_widget.data_form = self.dataform
             except dataforms.Error:
                 self.stage5(error=_('Service sent malformed data'),
diff --git a/src/dataforms_widget.py b/src/dataforms_widget.py
index 8382bb75e675df436a103b3c94659a5886a996d2..25f0b93b80134e55305e9daaecde2d377cfd4136 100644
--- a/src/dataforms_widget.py
+++ b/src/dataforms_widget.py
@@ -52,6 +52,7 @@ class DataFormWidget(gtk.Alignment, object):
         gtk.Alignment.__init__(self, xscale=1.0, yscale=1.0)
 
         self._data_form = None
+        self.selectable = False
 
         self.xml = gtkgui_helpers.get_gtk_builder('data_form_window.ui',
                 'data_form_vbox')
@@ -147,7 +148,8 @@ class DataFormWidget(gtk.Alignment, object):
 
         self.clean_data_form()
 
-        self.singleform = SingleForm(self._data_form)
+        self.singleform = SingleForm(self._data_form,
+            selectable=self.selectable)
         def _on_validated(widget):
             self.emit('validated')
         self.singleform.connect('validated', _on_validated)
@@ -314,7 +316,7 @@ class SingleForm(gtk.Table, object):
         validated = (gobject.SIGNAL_RUN_LAST | gobject.SIGNAL_ACTION, None, ())
     )
 
-    def __init__(self, dataform):
+    def __init__(self, dataform, selectable=False):
         assert isinstance(dataform, dataforms.SimpleDataForm)
 
         gtk.Table.__init__(self)
@@ -368,6 +370,7 @@ class SingleForm(gtk.Table, object):
 
                 commonwidget = False
                 widget = gtk.Label(field.value)
+                widget.set_property('selectable', selectable)
                 widget.set_line_wrap(True)
                 self.attach(widget, leftattach, rightattach, linecounter,
                         linecounter+1, xoptions=gtk.FILL, yoptions=gtk.FILL)
@@ -506,7 +509,13 @@ class SingleForm(gtk.Table, object):
                 textwidget.get_buffer().connect('changed',
                         self.on_text_multi_textbuffer_changed, field)
                 textwidget.get_buffer().set_text(field.value)
-                textwidget.set_sensitive(readwrite)
+                if readwrite:
+                    textwidget.set_sensitive(True)
+                else:
+                    if selectable:
+                        textwidget.set_editable(True)
+                    else:
+                        textwidget.set_sensitive(False)
 
                 widget = gtk.ScrolledWindow()
                 widget.add(textwidget)
@@ -535,6 +544,7 @@ class SingleForm(gtk.Table, object):
                 else:
                     commonwidget=False
                     widget = gtk.Label(field.value)
+                    widget.set_property('selectable', selectable)
                     widget.set_sensitive(True)
                     widget.set_alignment(0.0, 0.5)
                     widget=decorate_with_tooltip(widget, field)