diff --git a/src/nano.c b/src/nano.c
index 4e896c566f28caeb61464f542c220c3f48973247..3f26c7b2e22fab3d526327b306a87ae119b419d0 100644
--- a/src/nano.c
+++ b/src/nano.c
@@ -1567,9 +1567,9 @@ void wrap_reset(void)
  * we wrapped. */
 bool do_wrap(filestruct *line)
 {
-    size_t line_len = strlen(line->data);
+    size_t line_len;
 	/* Length of the line we wrap. */
-    ssize_t wrap_loc = -1;
+    ssize_t wrap_loc;
 	/* Index of line->data where we wrap. */
 #ifndef NANO_SMALL
     const char *indent_string = NULL;
@@ -1599,6 +1599,11 @@ bool do_wrap(filestruct *line)
      * wrapping.  Note that if autoindent is turned on, we don't break
      * at the end of it! */
 
+    assert(line != NULL && line->data != NULL);
+
+    /* Save the length of the line. */
+    line_len = strlen(line->data);
+
     /* Find the last blank where we can break the line. */
     wrap_loc = break_line(line->data, fill, FALSE);