diff --git a/src/object.c b/src/object.c
index 6aa29efd6834264c7e3f0eaafd79e0f01423a83e..0d76fa31f5eb273b315b739980b1904e5dbee480 100644
--- a/src/object.c
+++ b/src/object.c
@@ -4,7 +4,7 @@
 ||| See the files COPYING and DISCLAIMER for more information.
 \*/
 #include "global.h"
-RCSID("$Id: object.c,v 1.37 1998/02/03 05:29:27 hubbe Exp $");
+RCSID("$Id: object.c,v 1.38 1998/02/03 18:11:35 hubbe Exp $");
 #include "object.h"
 #include "dynamic_buffer.h"
 #include "interpret.h"
@@ -472,6 +472,10 @@ void object_index_no_free2(struct svalue *to,
     f=find_shared_string_identifier(index->u.string, p);
     break;
 
+  case T_LVALUE:
+    f=index->u.integer;
+    break;
+
   default:
     error("Lookup on non-string value.\n");
   }
@@ -569,6 +573,10 @@ void object_set_index2(struct object *o,
       error("No such variable (%s) in object.\n", index->u.string->str);
     break;
 
+  case T_LVALUE:
+    f=index->u.integer;
+    break;
+
   default:
     error("Lookup on non-string value.\n");
   }
@@ -664,6 +672,10 @@ union anything *object_get_item_ptr(struct object *o,
     f=find_shared_string_identifier(index->u.string, p);
     break;
 
+  case T_LVALUE:
+    f=index->u.integer;
+    break;
+
   default:
     error("Lookup on non-string value.\n");
     return 0;